簡易檢索 / 詳目顯示

研究生: 鄒毓偉
ZOU, Yu-Wei
論文名稱: 光線追蹤在OpenCL平台下使用堆疊在加速結構中效能之探討
Performance Evaluation of Acceleration Structures with Stack for Ray Tracing in OpenCL
指導教授: 張鈞法
Chang, Chun-Fa
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2017
畢業學年度: 105
語文別: 中文
論文頁數: 53
中文關鍵詞: 光線追蹤計算機圖學OpenCLBVH-tree
英文關鍵詞: ray tracing, computer graphics, OpenCL, BVH-tree
DOI URL: https://doi.org/10.6345/NTNU202203472
論文種類: 學術論文
相關次數: 點閱:148下載:9
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 光線追蹤是一種在計算機圖學中用於繪圖的演算法,藉由以物理的光學為基礎,模仿光的自然現象,能讓渲染出的場景更具真實性,然而,提升真實性的代價,就是必須大量運算光線追蹤演算法中的數學公式,使得光線追蹤演算法相較於其他演算法渲染速度來的慢,為了改善此缺點,使用開放式計算語言(OpenCL)來進行多核心的平行化運算,並且將場景物件資訊建構成Bounding volume hierarchy (BVH) tree的加速結構,藉由以上的加速方法,能夠縮短完成渲染工作的時間。
    使用OpenCL API後,將光線追蹤演算法中龐大的計算量做平行處理,但實際應用後,可以發現OpenCL的內核(kernel)在撰寫時會有許多限制,尤其是函式無法遞迴呼叫和本研究最為相關,論文程式中,有使用到樹狀的加速結構, 所以要有tree traversal的方法,在OpenCL有自己實作的記憶體空間,為了模擬陣列而宣告的stack在kernel函式中,要宣告於何種記憶體空間裡,是程式設計師可以選擇的,本論文就是研究在各個種類的OpenCL記憶體中以及改變一些參數來實作stack時,來觀察以及探討效能的表現與變化。

    Ray tracing is an Algorithm that used to render picture in computer graphics. It is based on ray in physical properties and imitates the natural phenomena of ray, which makes the rendered scene becomes more realistic. However, the cost of improving realistic is must compute a large number of operations in ray tracing. In order to improve this disadvantage, OpenCL is used to perform parallel computing on multi-core platform, and the object in the scene is constructed as an acceleration structure that called Bounding volume hierarchy tree. The acceleration method can reduce rendering time.
    After using the OpenCL API, A large number of operations in ray tracing is parallel. However, there are some limitations programming kernel of OpenCL, especially tThe function can’t be called recursively in kernel. The program uses an acceleration structure in tree structure, so it must have the way to traverse the tree structure. OpenCL has its own implementation of the memory space, the programmer can choose which type of the memory space to simulate the array and declare the stack in the Kernel function. The purpose of this paper is to study the performance to change some parameters and implement the stack in a variety of OpenCL memory.

    摘要...................................................I Abstract..............................................II 目錄..................................................III 附表目錄...............................................V 附圖目錄...............................................VI 第一章 緒論.............................................1 1.1 研究背景............................................1 1.2 研究目的............................................2 1.3 論文架構............................................3 第二章 相關文獻探討......................................4 2.1 raytracing.........................................4 2.2 BVH tree...........................................5 2.3實驗硬體架構.........................................7 2.4 OpenCL............................................16 第三章 Intel OpenCL Memory Model.......................21 3.1 Private Memory....................................21 3.2 Local Memory......................................22 3.3 Global Memory.....................................24 3.4 Constant Memory...................................26 第四章 使用OpenCL實作有加速結構之光線追蹤程式.............27 4.1步驟一..............................................28 4.2步驟二..............................................29 4.3步驟三..............................................33 4.4步驟四..............................................34 第五章 實驗與數據分析....................................35 5.1 實驗環境與方法......................................35 5.2 各項實驗與討論......................................37 第六章 結論與未來方向....................................49 6.1 結論...............................................49 6.2 未來與改善方向......................................50 附圖與附表引用來源......................................51 參考文獻...............................................53

    [1]T. Whitted "An improved illumination model for shaded display"
    Communications of the ACM, Volume 23 Issue 6, Pages 343-349, 1980.

    [2] H. J. Haverkort, Results on geometric networks and data structures Chapter 1: Introduction, page 9-10+16, 2004.

    [3] Intel®, Developer Zone - The Compute Architecture of Intel® Processor Graphics Gen8. Available:https://software.intel.com/sites/default/files/Compute%20Architecture%20of%20Intel%20Processor%20Graphics%20Gen8.pdf

    [4] Nvidia, GeForce - Whitepaper NVIDIA GeForce GTX 980.
    Available:https://international.download.nvidia.com/geforcecom/international/pdfs/GeForce_GTX_980_Whitepaper_FINAL.PDF

    [5] Khronos Group, OpenCL - The OpenCL Specification version 1.2
    Available: https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf

    [6] Intel®, Developer Zone - Taking Advantage of Intel® Graphics with OpenCL
    Available:
    https://software.intel.com/en-us/articles/taking-advantage-of-intel-graphics-with-opencl

    [7] Assimp - Open Asset Import Library. Available: http://www.assimp.org/

    [8] M. Pharr and G. Humphreys, Physically based rendering: From theory to implementation, 2004.

    [9] R. L. Cook, T. Porter, and L. Carpenter, "Distributed ray tracing"
    ACM SIGGRAPH Computer Graphics Volume 18 Issue 3, Pages 137-145, 1984.

    [10] M. Hapala, T. Davidovič, I. Wald, V. Havran, and P. Slusallek, "Efficient stack-less BVH traversal for ray tracing"
    Proceedings of the 27th Spring Conference on Computer Graphics, SCCG '11.

    下載圖示
    QR CODE