Context. Reaching photo realistic results when rendering 3D graphics in real-time is a hard computational task. Ray-tracing gives results close to this but is too expensive to be run at real-time frame rates. On the other hand rasterized methods such as deferred rendering are able to keep the tight time constraints with the support of modern hardware. Objectives. The basic objective is to merge deferred rendering and ray-tracing into one rasterized pipeline for dynamic scenes. In the thesis the proposed method is explained and compared to the methods it merges. Image quality, execution time and VRAM usage impact are investigated. Methods. The proposed method uses deferred rendering to render the result of the primary rays. Some pixels are marked, based on material properties for further rendering with ray-tracing. Only reflections are presented in the thesis but it has been proven that other global illumination effects can be implemented in the ray-tracing framework used. Results and Conclusions. The hybrid method is proved through experiments to be between 2.49 to 4.19 times faster than pure ray-tracing in the proposed pipeline. For smaller scenes it can be run at frame rates close to real-time, but, for larger scenes such as the Crytek Sponza scene the real-time feeling is lost. However, interactivity is never lost. It is also proved that a simple adjustment to the original framework can save almost 2/3 of the memory spent on A-buffers. Image comparisons prove that the technique can compete with offline ray tracers in terms of image quality.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-10427 |
Date | January 2015 |
Creators | Frid Kastrati, Mattias |
Publisher | Blekinge Tekniska Högskola, Institutionen för kreativa teknologier |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds