1 |
Alpha Tested Geometry in DXR : Performance Analysis of Asset Data VariationsFast, Tobias January 2020 (has links)
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. / Bakgrund. Strålspårning(Ray tracing) kan användas för att uppnå hyperrealistisk 3D-rendering, men det är en mycket tung beräkningsuppgift. Sedan hårdvarustöd för att utföra strålspårning i realtid lanserades har spelindustrin introducerat funktionen i spel. Trots modern hårdvara upplevers fortfarande prestandaproblem när vanliga renderingstekniker kombineras med strålspårning. En av dessa problematiska tekniker är alfa-testning(alpha testing). Syfte. Denna avhandling kommer att undersöka följande: 1) Hur texturformatet på alfamasken(alpha map) och hur antalet alfamaskar påverkar renderingstiderna. 2) På vilket sätt tesselering av den alfa-testade geometrin påverkar prestandan och om tesselering har potentialen att ersätta alfa-testet helt ur ett prestandaperspektiv. Metod. En DXR 3D-renderare kommer att implementeras som kan rendera alfatestad geometri med hjälp av en “Any-hit” shader. Renderaren användes för att mäta och jämföra renderingstider givet varierande textur- och geometri-data. Två alfaprövade trädmodeller tesselaterades till olika nivåer och deras relaterade texturer konverterades till fyra format som användes i testscenerna. Resultat & Slutsatser. När texturformaten BC7, R(1xfloat32) och BC4 användes för alfamasken visade alla en minskad renderingstid relativ RGBA (4xfloat32). BC4 gav bästa prestandaökningen och minskade renderingstiden med upp till 17% med en alfamask per modell och upp till 43% med åtta alfamasker. När antalet alfamasker som användes per modell ökade renderingstiderna med upp till 52% när alfamaskerna ökade från en till två. En stor ökning av renderingstiden observerades när alfamaskerna gick från tre till fyra i alla testfall. När alfatestning användes på de tesselerade modellversionerna ökade renderingstiderna i de flesta fall, som högst 135%. En minskning på upp till 8% observerades emellertid när modellerna tesselaterades till en viss grad. Att stänga av alfatestning gav en signifikant ökning av prestandan, vilket tillät högre tesselerade versioner att renderas för alla modeller. Samtidigt som antalet trianglar ökade med en faktor på 78, i ett av fallen, minskades renderingstiden med 30%. Detta antyder att förtesselerade modeller potentiellt kan användas för att ersätta alfatestad geometri när prestanda är ett högt krav.
|
Page generated in 0.063 seconds