光線追蹤應用程式介面整合OpenGL程式設計
No Thumbnail Available
Date
2016
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
光線追蹤(ray tracing)是電腦圖學中一種重要的rendering技術,藉由模擬運算光的折射、反射…等光學現象來產生高品質畫面,但需要大量的運算與時間來滿足,因此在以前的硬體設備上想要達成即時(real-time)的效果幾乎不可能辦到。現今的GPGPU硬體設計架構使得GPU可被用來做自定義的平行化計算,因此許多學者提出運用CUDA或OpenCL實作光線追蹤或路徑追蹤(path tracing)…等physically based rendering的方法,期望藉由GPU高效率的平行計算使光線追蹤的效能大幅度提升。然而以光線追蹤方法仍難以受到主流遊戲開發業者採用,因為市場上的產品大部分都以光柵化(rasterization) rendering的設計為主,不容易在短期內發生改變,因此本篇論文想介紹一套類似於OpenGL API的整合設計,而底層rendering置換為光線追蹤或路徑追蹤…等physically based rendering的方法,幫助開發者使用現有的OpenGL應用程式原始碼並透過少許的修改就能獲得光線追蹤相關演算法rendering的畫面以及其帶來的好處。
Ray tracing is one of the most important rendering technique in computer graphics. By means of simulating reflection and refraction of light, it generates an image with more photorealism than scanline rendering techniques. But the high computational cost of ray tracing is one of the algorithm main disadvantages. In recently years, the computing power of GPU has increased gradually, and the GPGPU applications model is more popular now. There are many scholars who introduce some physically based rendering methods with CUDA or OpenCL, in order to improve the image quality and increase rendering speeds. Nevertheless, there's no way ray tracing can be accepted by game development industry in the near future, because the design of the most products is based on rasterization rendering. In this research we introduce a ray tracing API integration for OpenGL applications, and we replace OpenGL rendering technique with ray tracing or other physically based rendering methods. So we can have advantages of ray tracing rendering technique by modifying few source codes.
Ray tracing is one of the most important rendering technique in computer graphics. By means of simulating reflection and refraction of light, it generates an image with more photorealism than scanline rendering techniques. But the high computational cost of ray tracing is one of the algorithm main disadvantages. In recently years, the computing power of GPU has increased gradually, and the GPGPU applications model is more popular now. There are many scholars who introduce some physically based rendering methods with CUDA or OpenCL, in order to improve the image quality and increase rendering speeds. Nevertheless, there's no way ray tracing can be accepted by game development industry in the near future, because the design of the most products is based on rasterization rendering. In this research we introduce a ray tracing API integration for OpenGL applications, and we replace OpenGL rendering technique with ray tracing or other physically based rendering methods. So we can have advantages of ray tracing rendering technique by modifying few source codes.
Description
Keywords
三維圖學, 光線追蹤, 遊戲引擎, OpenCL, 3D rendering, ray tracing, game engine, physically based rendering