簡易檢索 / 詳目顯示

研究生: 許廷宇
Hsu, Ting-Yu
論文名稱: 以OpenCL實現蒙地卡羅光線追蹤之加速與探討
Performance Evaluation of Monte Carlo Ray Tracing Using OpenCL
指導教授: 張鈞法
Chang, Chun-Fa
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2021
畢業學年度: 109
語文別: 中文
論文頁數: 39
中文關鍵詞: 光線追蹤路徑追蹤蒙地卡羅法基於物理渲染Stream Model
英文關鍵詞: Ray Tracing, Path Tracing, Monte Carlo Method, Physically-Based Rendering, Stream Model
DOI URL: http://doi.org/10.6345/NTNU202100217
論文種類: 學術論文
相關次數: 點閱:155下載:15
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著硬體科技越來越進步,圖形處理器從固定的pipeline架構,到可以廣泛應用的通用型圖形處理器程式設計(GPGPU programming)越來越成熟,有許多開發平台都包含光線追蹤的功能,例如:DirectX Ray Tracing、OptiX、Embree 等等,利用平行化的優勢,解決光線追蹤需要的龐大計算量。
    開發者在平行程式編寫上有 CUDA、OpenCL等便於平行化開發的框架,自由的開發環境使GPU kernel有多種編寫方式,在如何設計並優化GPU kernel上有許多研究,包括提升硬體利用率的方法或是同質性的計算流程等有利平行化的設計方式。
    本研究以OpenCL為開發平台,探討基於物理渲染(Physically Based Rendering)的蒙地卡羅路徑追蹤法(Monte Carlo Path Tracing)具有的計算特性,並分析如何利用這些特性進一步提升平行化效率,同時考慮花費成本在追蹤的各個階段帶來的影響。

    With the hardware progressing, graphics processors have developed from the fixed pipeline architecture into the widely-used GPGPU programming. There are many de-velopment tools including the Ray Tracing, such as DirectX Ray Tracing, OptiX, Em-bree, … etc. These tools deal with the huge amount of calculation required for Ray Tracing with the advantage of parallelization.
    Developers have many ways to GPU kernels programming because of the flexible software released for facilitating parallel development, such as CUDA, OpenCL and other APIs. There are lots of studies on the designing and optimizing GPU kernels, in-cluding improving hardware utilization or homogeneity and other favorable parallel de-sign methods.
    This research, through OpenCL as the development tools, aimed to explore the computational features of the Physically-Based Monte Carlo Path Tracing, and to ana-lyze how to further improve the efficiency of parallelization. Meanwhile, the influence of the cost for each phase are also discussed in the research.

    摘要 i Abstract ii 目錄 iii 表目錄 v 圖目錄 vi 第一章 緒論 1 1.1 問題描述 1 1.2 研究目標 2 1.3 論文架構 2 第二章 相關研究探討 3 2.1 OpenCL 3 2.1.1 平台模型 4 2.1.2 執行模型 5 2.2 物理寫實渲染的光線追蹤 6 2.2.1 輻射度量 6 2.2.2 雙向反射分布函數 7 2.2.4 蒙地卡羅積分 8 2.2.3 渲染方程 10 2.2.5 重要性採樣 11 2.3 加速結構 11 2.4 Streaming Model 12 第三章 系統實作 15 3.1 程式架構 15 3.1.1 初始化和前處理 15 3.1.2 加速結構 16 3.1.3 設定調用裝置 16 3.1.4 光線採樣 17 3.2 實作方法 18 3.2.1 Megakernel 19 3.2.2 Streaming kernel 20 3.3 路徑結束策略 22 第四章 實驗結果與分析 23 4.1 實驗環境 23 4.2 實驗結果分析 25 4.2.1 固定路徑深度 25 4.2.2 隨機路徑終止 31 第五章 結論與未來研究 36 5.1 結論 36 5.2 未來研究 37 文獻參考 38 參考資料 39

    [1] J. T.Kajiya, “The rendering equation,” in Proceedings of the 13th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH 1986, Aug. 1986, pp. 143–150, doi: 10.1145/15922.15902.
    [2] T. J.Purcell, I.Buck, W. R.Mark, andP.Hanrahan, “Ray tracing on programmable graphics hardware,” in ACM Transactions on Graphics, Jul. 2002, vol. 21, no. 3, pp. 703–712, doi: 10.1145/566654.566640.
    [3] P. A.Lensch, S.Seipel, J.Novák, V.Havran, andC.Dachsbacher, “Path Regeneration for Interactive Path Tracing,” 2010.
    [4] D.van Antwerpen, “Improving SIMD efficiency for parallel Monte Carlo Light Transport on the GPU,” in Proceedings - HPG 2011: ACM SIGGRAPH Symposium on High Performance Graphics, 2011, pp. 41–50, doi: 10.1145/2018323.2018330.
    [5] T.Aila andS.Laine, “Understanding the efficiency of ray traversal on GPUs,” in Proceedings of the HPG 2009: Conference on High-Performance Graphics 2009, 2009, pp. 145–150, doi: 10.1145/1572769.1572792.
    [6] S.Laine, T.Karras, andT.Aila, “Megakernels considered harmful: wavefront path tracing on GPUs,” in Proceedings of the 5th High-Performance Graphics Conference on - HPG ’13, 2013, p. 143, doi: 10.1145/2492045.2492060.
    [7] R. L.Cook andK. E.Torrance, “A Reflectance Model for Computer Graphics,” ACM Trans. Graph., vol. 1, no. 1, pp. 7–24, Jan.1982, doi: 10.1145/357290.357293.

    “CodeXL - Wikipedia.” https://en.wikipedia.org/wiki/CodeXL (accessed Feb. 02, 2021).
    Khronos, “The OpenCLTM C 2.0 Specification.” Accessed: Feb.02, 2021. [Online]. Available: https://www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_C.html.
    David Kaeli Perhaad Mistry Dana Schaa Dong Ping Zhang, Heterogeneous Computing with OpenCL 2.0 - 1st Edition, 1st ed. 2015.
    Morgan McGuire, “McGuire Computer Graphics Archive,” Jul.2017. https://casual-effects.com/data/ (accessed Feb. 02, 2021).

    下載圖示
    QR CODE