Alpha Tested Geometry in DXR : Performance Analysis of Asset Data Variations

Detta är en Uppsats för yrkesexamina på avancerad nivå från Blekinge Tekniska Högskola/Institutionen för datavetenskap

Sammanfattning: Background. Ray tracing can be used to achieve hyper-realistic 3D rendering but it is a computationally heavy task. Since hardware support for real-time ray tracing was released, the game industry has been introducing this feature into games. However, even modern hardware still experience performance issues when implementing common rendering techniques with ray tracing. One of these problematic techniques is alpha testing. Objectives. The thesis will investigate the following: 1) How the texture format of the alpha map and the number of alpha maps affect the rendering times. 2) How tessellation of the alpha tested geometry affects the performance and if tessellation has the potential to fully replace the alpha test from a performance perspective. Methods. A DXR 3D renderer will be implemented capable of rendering alpha tested geometry using an any-hit shader. The renderer was used to conduct a computational performance benchmark of the rendering times while varying texture and geometry data. Two alpha tested tree models were tessellated to various levels and their related textures were converted into multiple formats that could be used for the test scenes. Results & Conclusions. When the texture formats BC7, R(1xfloat32), and BC4 were used for the alpha map, the rendering times decreased in all cases, relative RGBA(4xfloat32). BC4 showed to give the best performance gain, decreasing the rendering times with up to 17% using one alpha map per model and up to 43% using eight alpha maps. When increasing the number of alpha maps used per model the rendering times increased with up to 52% when going from one alpha map to two. A large increase in rendering times was observed when going from three to four alpha maps in all cases. Using alpha testing on the tessellated model versions increased the rendering times in most cases, at most 135%. A decrease of up to 8% was however observed when the models were tessellated a certain amount. Turning off alpha testing gave a significant decrease in rendering allowing higher tessellated versions to be rendered for all models. In one case, while increasing the number of triangles with a factor of 78 the rendering times were still decreased by 30% relative to the original alpha test implementation. This suggests that pre-tessellated models could potentially be used to replace alpha tessellated geometry when performance is highly required.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)