簡易檢索 / 詳目顯示

研究生: 蔡順帆
Tsai, Shun-fan
論文名稱: 基於砌塊式繪圖架構之三維繪圖幾何引擎設計、分析與實現
Design, Analysis, and Implementation of a Geometry Engine Based on Tile-Based Rendering Architecture in 3D Graphics
指導教授: 陳中和
Chen, Chung-ho
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2009
畢業學年度: 97
語文別: 中文
論文頁數: 111
中文關鍵詞: 幾何引擎電腦圖學(繪圖)Tile-Based 繪圖管線
外文關鍵詞: Computer graphics, Geometry engine, Tile-based rendering pipeline
相關次數: 點閱:204下載:2
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本篇論文提出一個基於砌塊式繪圖管線架構之Geometry引擎。在3D電腦繪圖中,其所描述的場景由幾何單元所表示,也就是點、線、面,而這些幾何單元再依照光源的設定繪製出受不同光源影響的顏色圖像。而本篇論文則根據OpenGL ES 1.1的規格設計一個處理幾何單元運算的Geometry引擎並對並對其硬體架構作進一步的效能評估及分析。
    在Geometry引擎的設計上,頂點處理器的架構切割成兩大級管線,有效地提升硬體使用率,減少面積;另外將perspective division模組設計於頂點處理器內,與未改善前的架構相比,整體面積降低58.6%。光源的指數計算部份以內插法的方式設計查表並將其實現成硬體,與未改善前的硬體合成面積相比,降低了17倍。為了減少匯流排頻寬,除了設計Culling模組外,我們提出ATT (Abandon Tiny Triangles)演算法刪除微小三角形,減少50%至60%不會繪製在螢幕上的三角形輸出量。此Geometry引擎在0.18um的製程下總共佔389K個邏輯閘,且能在200MHz的工作頻率下正確執行,並有瞬間最高7.407M Tri/sec的三角形運算效能。此硬體在QEMU結合CoWare的完整系統模擬環境下,能完整地驗證ARM嵌入式系統經由啟動Linux並執行OpenGL ES的應用程式。

    This thesis presents a Geometry engine based on a tile-based rendering architecture. In 3D computer graphics, the scene is typically constructed from geometry objects made up from vertices, lines, or triangles, and these geometry objects are displayed in different types by various drawing modes. We design a Geometry engine that deals with the geometry calculation according to OpenGL ES 1.1 specifications and evaluate the performance of the hardware architecture.

    In Geometry engine designing, we split the vertex processor into a 2-stage pipeline in order to reduce the overall area cost by increasing the hardware utilization efficiently. Comparing with the traditional architecture, we propose a new architecture that puts the perspective division model in the vertex processor. This design results in overall area reduction by 58.6%. For the lighting model, we use a linear interpolation index-reduced method to design the lookup table, and the synthesis area is nearly 17 times smaller than the hardware without modification. In order to reduce the bus traffic, we design a Culling model and propose an ATT (Abandon Tiny Triangles) algorithm to discard tiny triangles. The total triangle reduction is about 50% to 60% that would not be rendered on the screen. The Geometry engine has been realized by 0.18 um technology and the total gate count is 389K. It can run up to 200 MHz, and deliver the peak fill rate of 7.407M Tri/sec. It has been simulated and verified with OpenGL ES applications executed on Linux in an ARM embedded system modelled by a full system simulation platform which combines QEMU and an ESL tool.

    摘要 I Abstract II 誌謝 III 目錄 IV 表目錄 VII 圖目錄 VIII 第1章 序論 1 1.1 Motivation 1 1.2 Contribution 2 1.3 Organization of Thesis 2 第2章 背景知識與相關研究 4 2.1 3D Computer Graphics 4 2.2 Graphics API 6 2.2.1 OpenGL 7 2.2.2 OpenGL ES 8 2.3 3D Graphics Rendering Pipeline 8 2.4 Overview of Geometry Engine 11 2.4.1 Transformation 13 2.4.2 Lighting 17 2.4.3 Primitive Assembly 20 2.4.4 Culling 21 2.4.5 Clipping 22 2.5 Concept of Electronic System Level 23 2.5.1 CoWare Platform Architecture 24 2.6 QEMU 25 2.7 Related work 26 2.7.1 Geometry Engine 26 2.7.2 Tile-Based Rendering 30 第3章 幾何引擎架構之設計 34 3.1 Tile-Based Rendering Architecture 34 3.2 Internal Models of Geometry Engine 36 3.2.1 Transformation Model 37 3.2.2 Lighting Model 43 3.2.3 Perspective Division Model 51 3.2.4 Primitive Assembly Model 54 3.2.5 Culling Model 57 3.2.6 Clipping Model 61 3.3 Tile Sorting Model in Tile-Based Rendering 66 3.3.1 Bounding Box Test 68 3.3.2 Overlap Test 69 3.3.3 Accuracy Problem of Tile Sorting Model 70 3.4 Geometry Engine Architecture 72 3.4.1 Vertex Processor Architecture 73 3.4.2 Triangle Processor in Geometry Engine 77 第4章 幾何引擎介面設計 79 4.1 Input Type of Geometry Engine 80 4.2 Output Type of Geometry Engine 81 4.3 Internal Registers of Geometry Engine 82 第5章 實驗環境與實驗結果 85 5.1 Design Models and SW/HW Verification 85 5.1.1 Simulation Framework 87 5.1.2 Geometry Engine Verification 87 5.2 Full System Simulation Platform 91 5.3 Experimental results 93 5.3.1 Synthesis Area Result of Geometry Engine (Gate count) 93 5.3.2 Number of Triangles after Culling and ATT Operations 96 5.3.3 Maximum Throughput of Geometry Engine 98 5.3.4 Cycle counts of Geometry Engine 99 5.3.5 Compared with other Geometry Engine 102 第6章 結論與未來展望 105 6.1 結論 105 6.2 未來展望 106 參考文獻 108

    [1] T. Akenine-Moller and E. Haines, Real-time rendering, 2nd edition. A. K. Peters, Ltd, Natick, MA, 2002.
    [2] H. Fuchs et al., “Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories,” In Proc. ACM SIGGRAPH, pp. 79-88, 1989.
    [3] M. Chen, G. Stoll, H. Igehy, K. Proudfoot, and P. Hanmhan, “Simple Models of the Impact of Overlap in Bucket Rendering,” In Proc. ACM SIGGMPH/EURDGRAPHICS Workshop on Graphics Hardware, pp. 105-112, 1998.
    [4] M. Cox and N. Bhandari, “Architectural Implications of Hardware-Accelerated Bucket Rendering on the PC,” In Proc. ACM SIGGMPH/EURDGRAPHICS Workshop on Graphics Hardware, pp. 25 - 34, 1997.
    [5] I. Antochi, B. Juurlink, S. Vassiliadis, and P. Liuha, “Memory Bandwidth Requirements of Tile-Based Rendering,” In Proceedings of the Third and Fourth International Workshops SAMOS 2003 and SAMOS 2004 (LNCS 3133), Samos, Greece, pp. 323-332, Jul. 2004.
    [6] I. Antochi, “Suitability of Tile-Based Rendering for Low-Power 3D Graphics Accelerators,” PhD Thesis, Delft University of Technology, Oct. 2007.
    [7] G. Humphreys, M. Houston, R. Ng, R. Frank, S. Ahern, P. Kirchner, and J. Klosowski, “Chromium: A Stream Processing Framework for Interactive Rendering on Clusters,” In Proc. 29th Annual Conf. on Computer Graphics and Interactive Techniques (SIGGRAPH 2002), pp. 693–702, 2002.
    [8] S. Molnar, M. Cox, D. Ellsworth, and H. Fuchs, “A Sorting Classification of Parallel Rendering,” In IEEE Comput. Graph. Appl., vol 14(4), pp. 23–32, 1994.
    [9] C. Mueller, “The Sort-First Rendering Architecture for High-Performance Graphics,” In Proc. 1995 Symp. on Interactive 3D Graphics, pp. 75–84, 1995.
    [10] D. Harris, “An Exponentiation Unit for an OpenGL Lighting Engines,” In IEEE Trans. Computers, vol. 53, no. 3, pp. 251-258 , Mar. 2004.
    [11] B.-G. Nam, H.-J. Kim, and H.-J. Yoo, “Power and Area-Efficient Unified Computation of Vector and Elementary Functions for Handheld 3D Graphics Systems,” In IEEE Trans. Computers, vol. 57, no. 4, Apr. 2008.
    [12] B. Mochocki, K. Lahiri, and S. Cadambi, “Power analysis of mobile 3D graphics,” In Design, Automation, and Test in Europe (DATE), 2006.
    [13] B.-G. Nam, M.-W. Lee, and H.-J. Yoo, ”Development of a 3-D Graphics Rendering Engine with Lighting Acceleration for Handheld Multimedia Systems,” In IEEE Trans. Consumer Electronics, vol. 51, no. 3, pp.1020–1027, Aug. 2005.
    [14] D.-H. Kim et al., “An SoC with 1.3Gtexels/s 3D Graphics Full Pipeline Engine for Consumer Applications,” In IEEE J. Solid-State Circuits, vol. 41, pp. 71, Jan. 2006.
    [15] R.-C. Woo et al., “A 210 mW graphics LSI implementing full 3-D pipeline with 264 Mtexels/s texturing for mobile multimedia applications,” In IEEE J. Solid-State Circuits, vol. 39, pp. 358, Feb. 2004.
    [16] C.-H. Chen and C.-Y. Lee, “A Cost Effective Lighting Processor for 3D Graphics Application,” In Proc. IEEE Int’l Conf. Image Processing, vol. 2, pp. 792-796, 1999.
    [17] H.-J. Kim and B.-G. Nam,“A 231-MHz, 2.18-mW 32-bit Logarithmic Arithmetic Unit for Fixed-Point 3-D Graphics System,” In IEEE Journal of Solid-State Circuits, vol. 41, no. 11, pp. 2373-2381, Nov. 2006.
    [18] T. Aila, V. Miettinen, and P. Nordlund, “Delay streams for graphics hardware,” In ACM Trans. Graphics, vol. 22, no. 3, pp. 792-800, Jul. 2003.
    [19] CoWare, ConvergenSC Training Manual rev: 1Mar06, CoWare, Inc., 2006.
    [20] J.-W. Bae, D.-H. Kim, and L.-S. Kim, ”An 11M-Triangles/sec 3D Graphics Clipping Engine for Triangle Primitives,” In Proc. IEEE International Symposium on Circuits and Systems, vol. 5, pp. 4570 - 4573, May. 2005.
    [21] R. S. Wright, Jr., and B. Lipchark, OpenGL SuperBible, 3rd edition. Sams Publishing, 2005.
    [22] The Mesa 3D Graphics Library website. Available: http://www.mesa3d.org.
    [23] Vincent Mobile 3D Rendering Library. Available:
    http://sourceforge.net/projects/ogl-es/.
    [24] D. Blythe and A. Munshi, “OpenGL ES Common/Common-Lite Profile Specification Version 1.1.10,” Khronos Group, Inc. Available: http://www.khronos.org/registry/gles/specs/1.1/es_full_spec.1.1.10.pdf.
    [25] Microsoft Corp., DirectX Resource Center,
    http://msdn2.microsoft.com/zh-tw/xna/aa937781.aspx.
    [26] A. Stevens, White paper: ARM Mali 3D Graphics System Solution, December 2006, http://www.arm.com/miscPDFs/16514.pdf.
    [27] Imagination Technologies Ltd., PowerVR MBX 2D/3D Graphics, http://www.imgtec.com/Downloads/index.asp?download=true&f=PowerVRMBX.pdf&t=PowerVR%20PDP%20Documents.
    [28] PowerVR (Imagination Technologies). Imagination Technologies’ PowerVRTM in STMicroelectronics’ KYROTM PC Graphics Accelerator Unveiled, http://www.imgtec.com/News/Release/index.asp?ID=548.
    [29] QEMU Processor Emulator, official site : http://bellard.org/qemu/.
    [30] Synopsys, DesignWare IP Family Reference Guide,
    https://www.synopsys.com/dw/doc.php/doc/dwf/datasheets/.
    [31] C. Lomont, “Fast inverse square root,” Feb. 2003.[Online], http://www.lomont.org/Math/Papers/2003/InvSqrt.pdf.
    [32] M. Segal and K. Akeley, “The OpenGL Graphics System: A Specification Version 2.1,” Silicon Graphics, Inc,
    http://www.opengl.org/registry/doc/glspec21.20061201.pdf.
    [33] Free 3D Model, http://fantasyartdesign.com/.
    [34] R.-T. Gu et al., “An 8.69 Mvertices/s 278 Mpixels/s Tile-based 3D Graphics Full Pipeline with Embedded Performance Counting Module, Real-Time Bus Tracer and Protocol Checker for Consumer Electronics,” In International Symposium on VLSI Design, Automation & Test, 2008.
    [35] Design Compiler, http://www.synopsys.com/home.aspx.

    下載圖示 校內:2011-08-19公開
    校外:2011-08-19公開
    QR CODE