DOI QR코드

DOI QR Code

Rendering States Changing Costs Reducing Technique for Real-time 3D Graphics

실시간 3D 그래픽을 위한 렌더링 상태 변경 비용 감소 기법

  • 김석현 (남서울대학교 멀티미디어학과)
  • Published : 2009.08.31

Abstract

In real-time 3D Graphics, pipeline optimization is one of techniques enhancing rendering performance. Pipeline optimization is kind of buffer reordering problem, but it is NP-hard. Therefore techniques that is approximating optimal solution and suitable for real-time 3D graphics are needed. This paper analyze pattern of rendering states changing costs for real-time 3D graphics, and based on this, the algorithm that brings rendering states into line by changing costs is proposed. The proposed technique shows good performance enhancement when costs of some rendering states are much higher than others. Proposed technique shows 2.5 to 4 times better performance than non-ordering algorithm and becomes more faster when rendering costs of a state gets higher.

실시간 3D 그래픽에서 렌더링 성능을 향상시키는 기법 중 하나로 파이프라인 최적화가 있다. 파이프라인 최적화는 버퍼 재 정렬 문제로 볼 수 있다. 그러나 이는 NP-hard이다. 따라서 최적의 해를 근사하며 실시간 3D 그래픽에 적합한 알고리즘 개발이 필요하다. 본 논문은 이를 위해 실시간 3D 그래픽의 렌더링 상태 변화 비용의 패턴을 분석하였다. 그리고 분석된 패턴을 기반으로 렌더링 상태 변화 비용이 큰 것에 대하여 우선적으로 정렬하는 알고리즘을 제시한다. 제안 기법의 우수함을 보이기 위해, 상태비용을 정렬하지 않는 알고리즘과 성능을 평가한다. 제안 방법은 상태비용을 정렬하지 않는 알고리즘에 비해 약 2.5배-4배 정도 비용이 감소되며. 특정 렌더링 상태의 변화 비용이 크게 증가할수록 우수함을 보인다.

Keywords

References

  1. T.Akenine-Moller, E.Haines and N.Hoffman, "Real-time rendering 3rd edition", ISBN 987-1-56881-424-7, A.K. Peters Ltd., 2008.
  2. A.S. Winter, "An Investigation into Real-Time 3D Polygon Rendering Using BSP Trees", 1999, http://citeseer.ist.psu.edu/winter99investigation.html.
  3. H.Zhang. "Effective Occlusion Culling for the Interactive Display of Arbitrary Models". Ph.D. thesis, Department of Computer Science, UNC-Chapel Hill, 1998.
  4. Wikipedia, "Hidden surface determination", http://en.wikipedia.org/wiki/Frustum_culling#Viewing_frustum_culling.
  5. W.Jane and V.G.Allen, "Octrees for faster isosurface generation", ACM Transactions on Graphics, pp. 201-227, 1992.
  6. J.L. Bentley, "Multidimensional binary search trees used for associative searching", Communications of the ACM 18 9, pp. 509-517, September 1975. https://doi.org/10.1145/361002.361007
  7. P.Lindstrom, D.Koller, W.Ribarsky, L.Hodges, N.Faust and G.A.Turner, "Real-time, continuous level of detail rendering of height fields", In Proceedings of the 23rd Annual Conference on Computer Graphics and interactive Techniques, ACM, New York, NY, pp. 109-118, 1996.
  8. M. Englert, H. Racke, and M. Westermann, "Reordering buffers for general metric spaces", In Proceedings of 39th Symposium on Theory of Computing (STOC), pp. 556-564, 2007.
  9. MSDN, "Accurately profiling Direct3D API calls", http://msdn.microsoft.com/en-us/library/bb172234(VS.85).aspx.
  10. Panda3D team, "Performance monitoring: features", http://panda3d.org/features.php.
  11. Direct3D Help, "Performance Optimizations (Direct3D 9)", DirectX Documentation for c++, DirectX SDK Agust 2007.
  12. ATI Help, "Rendering States - Designing for ATI Rage 128 and Rage 128 Pro", http://ati.amd.com/developer/sdk/rage128sdk/Design.html
  13. I. Gamzu and D. Segev, "Improved online algorithms for the sorting buffer problem", In Proceedings of the 24th Symposium on Theoretical Aspects of Computer Science (STACS), pp. 658-669, 2007.
  14. J.Krokowski, H.Racke, C.Sohler and M.Westermann, "Reducing state changes with a pipeline buffer", In Proceedings of the Vision Modeling and Visualization 2004 (VMV), Stanford, USA, pp. 217-224, November 2004.