簡易檢索 / 詳目顯示

研究生: 顏嘉緯
論文名稱: 使用OpenCL實現具備全域照明的互動式光跡追蹤
Interactive Ray Tracing with Global Illumination Using OpenCL
指導教授: 張鈞法
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2012
畢業學年度: 100
語文別: 中文
論文頁數: 49
中文關鍵詞: 光跡追蹤全域照明即時互動跨平台圖形處理器開放計算語言
英文關鍵詞: GPU, OpenCL, global illumination, real-time, interactive, cross-platform, ray tracing
論文種類: 學術論文
相關次數: 點閱:279下載:22
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  •   光跡追蹤(ray tracing)運用於電腦圖學領域可以追溯到 1980 年代,然而,直到 GPU(graphics processing unit)的出現才讓光跡追蹤得以達到真正即時(real-time)的水準。

      本論文嘗試利用開放計算語言(Open Computing Language),在 GPU 平台上實現一個具備互動(interactive)或即時、全域照明(global illumination)與跨平台(cross-platform)特性的光跡追蹤渲染系統(rendering system)。採用的資料結構與演算法取自目前現有的成果,包括學術論文、書籍中提出的方法以及各種可取得的資源;渲染的對象著重在靜態場景(static scene),並使用 kd-tree 加速結構;論文的內容則強調實作上的細節,包括主要光線(primary ray)與次要光線(secondary ray)的追蹤。

      最後,將渲染系統加以延伸,使之能夠模擬全域照明的效果。此外,為了明瞭 OpenCL 跨平台的支援狀況,實際在各種平台 — CPU 與 GPU 上運行。

    附表目錄 ................................................iv 附圖目錄 .................................................v 第一章 緒論 ..............................................1 1.1 背景 .................................................1 1.2 研究動機 ..............................................2 1.3 論文架構 ..............................................2 第二章 相關文獻與研究 ......................................3 2.1 GPU Ray Tracer ......................................3 2.2 OpenCL Ray Tracer / OpenCL Ray Tracing Renderer .....3 第三章 OpenCL 概論 .......................................5 3.1 簡介 .................................................5 3.2 OpenCL 架構 ..........................................5 3.2.1 平台模型(Platform Model) ...........................5 3.2.2 執行模型(Execution Model)...........................5 3.2.3 記憶體模型(Memory Model)............................6 3.2.4 編程模型(Programming Model).........................6 第四章 實現 OpenCL Ray Tracer .............................7 4.1 系統架構 ...............................................7 4.2 內核(kernel) .........................................8 4.2.1 產生主要光線(Generate Primary Rays) ..................8 4.2.2 走訪加速結構(Traverse Acceleration Structure) ........9 4.2.3 著色(Shading) ......................................9 4.3 實作細節 ...............................................9 4.3.1 資料結構(Data Structure) ...........................10 4.3.2 加速結構(Acceleration Structure) ...................14 4.3.3 光線–物體交點測試(Ray-Object Intersection Test) .....16 4.3.4 主要光線(Primary Ray) ..............................17 4.3.5 次要光線(Secondary Ray) ............................19 4.3.6 全域照明(Global Illumination) ......................21 第五章 實驗結果與討論 ......................................24 5.1 主要光線(Primary Ray) ................................25 5.1.1 Kd-tree 建立(Kd-tree Construction) ................25 5.1.2 Kd-tree 走訪(Kd-tree Traversal) ...................27 5.2 次要光線(Secondary Ray) ..............................31 5.2.1 反射與折射(Reflection and Refraction) ...............31 5.2.2 陰影(Shadow) ......................................32 5.3 全域照明(Global Illumination) ........................34 5.4 跨平台(Cross-Platform) ...............................40 第六章 結論與未來方向 ......................................42 附錄 .....................................................43 參考書目 ..................................................47

    Aila T., Laine S.: Understanding the Efficiency of Ray Traversal on GPUs. In HPG ’09: Proceedings of the Conference on High Performance Graphics (2009), ACM Press, pp. 145–149.

    AMD上海研發中心編著(2010)。跨平台的多核與眾核編程講義。上海:超威半導體有限公司。

    Advanced Micro Devices (AMD): AMD Accelerated Parallel Processing OpenCL™ Programming Guide, version 1.3d, 2011.
    Advanced Micro Devices (AMD): AMD APP SDK v2.5 OpenCL FAQ, 2011.

    A. T., Navarra C.: Monte Carlo Path Tracing, 2010.

    Beason K.: Kevin Beason's Homepage. http://kevinbeason.com/smallpt/. 2010.

    Bucciarelli D.: Smallptcpu vs smallptgpu. http://davibu.interfree.it/opencl/smallptgpu/smallptGPU.html. 2010.

    Foley T., Sugerman J.: KD-Tree Acceleration Structures for a GPU Raytracer. In HWWS ’05 Proceedings (2005), ACM Press, pp. 15–22.

    Günther J., Popov S., Seidel H.-P., Slusallek P.: Realtime Ray Tracing on GPU with BVH-based Packet Traversal. In Symposium on Interactive Ray Tracing (2007), pp. 113–118.

    Havran V.: Heuristic Ray Shooting Algorithms. PhD thesis, Czech Technical University (2001).

    Helmich H.: Realtime Raytracing: Kd-Trees on Graphics Cards (2009).

    Hradský P.: Utilising OpenCL Framework for Ray-Tracing Acceleration. Master’s thesis, Czech Technical University (2011).

    Horn D. R., Sugerman J., Houston M., Hanrahan P.: Interactive k-D Tree GPU Raytracing. In I3D ’07: Proceedings of the 2007 symposium on Interactive 3D graphics and games (2007), ACM Press, pp. 167– 174.

    Kajiya J. T.: The Rendering Equation. In Proceedings of SIGGRAPH ’86 (1986), pp. 143–150.

    Ludvigsen H., Elster A. C.: Real-Time Ray Tracing Using Nvidia OptiX. In Eurographics (2010).

    Ling J., Mahapatra R. N.: A Graphics Architecture for Ray Tracing and Photon Mapping. In Graphics Hardware (2004), pp. 1–10.

    MacDonald J. D., Booth K. S.: Heuristics for ray tracing using space subdivision. In The Visual Computer 1990, 6 (1990), pp. 153–166.

    Mekritthikrai K., Bahena A. V.: OpenCL Real-time Raytracer Report. TNCG14 - Advanced Computer Graphics, 2010.

    Möller T., Trumbore B.: Fast, Minimum Storage Ray/Triangle Intersection. In Journal of Graphics Tools 2, 1 (1997), pp. 21–28.

    Munshi A.: The OpenCL Specification, version 1.1. Khronos OpenCL Working Group, 2011.

    NVIDIA Corporation: CUDA Programming Guide version 4.1, 2011.

    NVIDIA Corporation: OptiX Ray Tracing Engine Programming Guide version 2.5, 2012.

    Purcell T. J., Buck I., Mark W. R., Hanrahan P.: Ray Tracing on Programmable Graphics Hardware. In ACM Transactions on Graphics, 21, 3 (2002), pp. 703–712.

    Popov S., Günther J., Seidel H., Slusallek P.: Experiences with Streaming Construction of SAH KD-Trees. In Proceedings of IEEE Symposium on Interactive Ray Tracing (2006), pp. 89–94.

    Popov S., Günther J., Seidel H., Slusallek P.: Stackless KD-Tree Traversal for High Performance GPU Ray Tracing. In Eurographics (2007), pp. 415–424.

    Pharr M., Humphreys G.: Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann Publishers Inc., 2010.

    Purcell T. J.: Ray Tracing on A Stream Processor. PhD thesis, Stanford University (2004).

    Reiter S.: Real–time Ray Tracing of Dynamic Scenes. Master’s thesis, Johannes Kepler Universität (2008).

    santy’s blog. http://santyhammer.blogspot.com/2010/06/ratgpu-v020.html. 2010.

    Shih M., Chiu Y.-F., Chen Y.-C., Chang C.-F.: Real-Time Ray Tracing with CUDA. In ICA3PP ’09: Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing (2009), pp. 327–337.

    Sherrod A.: Game Graphics Programming. Charles River Media, 2008.

    Shirley P., Morley R. K.: Realistic Ray Tracing. A K Peters, 2003.

    Smits B.: Efficiency Issues for Ray Tracing. In Journal of Graphics Tools, 3, 2 (1998), pp. 1–14.

    Suffern K.: Ray Tracing from the Ground Up. A K Peters, 2007.

    Tsuchiyama R., Nakamura T., Iizuka T., Asahara A.: The OpenCL Programming Book. Fixstars Corporation, 2010.

    Wald I.: Realtime Ray Tracing and Interactive Global Illumination. PhD thesis, Saarland University (2004).

    Watt A.: 3D Computer Graphics. Addison Wesley, 1999.

    Williams A., Barrus S., Morley R. K., Shirley P.: An Efficient and Robust Ray-Box Intersection Algorithm. In SIGGRAPH ’05: ACM SIGGRAPH 2005 Courses, page 9. ACM, 2005.

    Wu L., Chen Z.: An Efficient SAH-based KD-Tree Construction Algorithm for Ray Tracing. In Computational Intelligence and Software Engineering (2009), pp. 1-4.

    Whitted T.: An Improved Illumination Model for Shaded Display. In Communication of the ACM, 23, 6 (1980), pp. 343-349.

    Wald I., Kollig T., Benthin C., Keller A.: Interactive Global Illumination using Fast Ray Tracing. In Proceedings of the 13th Eurographics workshop on Rendering (2002), pp. 15–24.

    Wald I., Slusallek P., Benthin C., Wagner M.: Interactive Rendering with Coherent Ray Tracing. In Computer Graphics Forum (2001), pp. 153–164.

    Zhou K., Hou Q., Wang R. Guo B.: Real-Time KD-Tree Construction on Graphics Hardware. ACM Trans. Graph., 27, 5 (2008), pp. 1–11.

    下載圖示
    QR CODE