Background. Hardware-accelerated ray tracing has enabled ray traced reflections for real-time applications such as games. However, the number of rays traced each frame must be kept low to achieve expected frame rates. Therefore, techniques such as rendering the reflections at quarter resolution are used to limit the number of rays traced each frame. The new hardware features inline ray tracing, and hardware variable rate shading (VRS) could be combined to limit the rays even further. Objectives. The first goal is to use hardware VRS to limit the number of rays even further than rendering the reflections at quarter resolution, while maintaining the visual quality in the final rendered image. The second goal is to determine if inline ray tracing provides better performance than using ray generation shaders. Methods. Experiments are performed on a ray traced reflections pipeline using different techniques to generate rays. The techniques use inline ray tracing, inline ray tracing combined with VRS, and ray generation shaders. These are compared and evaluated using performance tests and the image evaluator \FLIP. Results. The results show that limiting the number of rays with hardware VRS result in a performance increase. The difference in visual quality between using inline ray tracing with VRS and previous techniques remain comparable. The performance tests show that inline ray tracing performs worse than ray generation shaders with increased scene complexity. Conclusions. The conclusion is that hardware VRS can be used to limit the number of rays and achieve better performance while visual quality remain comparable to previous techniques. Inline ray tracing does not perform better than ray generation shaders for workloads similar to ray traced reflections. / Bakgrund. Hårdvaruaccelererad strålspårning har möjliggjort strålspårade reflektioner för realtidsapplikationer såsom spel. Däremot måste antalet strålar som spåras hållas lågt för att förväntade bildfrekvenser ska uppnås. Därför används renderings-tekniker som att rendera reflektioner i en fjärdedels upplösning för att begränsa mängden strålar. De nya teknikerna inline strålspårning och hårdvarubaserad variable rate shading (VRS) kan användas för att minska antalet strålar ytterliggare. Syfte. Det första målet är att använda hårdvarubaserad VRS för att minska antalet strålar ytterligare jämfört med att rendera reflektioner i en fjärdedels upplösning, men samtidigt upprätthålla den visuella kvalitén. Det andra målet är att avgöra om inline strålspårning ger bättre prestanda än att använda strålgenererings shaders för reflektioner. Metod. För att svara på forskningsfrågorna ufördes experiment på en strålspårad reflektionspipeline med olika tekniker för att generera strålar. Teknikerna som testas är inline strålspårning, inline strålspårning kombinerat med VRS, samt strålgenererings shaders. Dessa jämförs och evalueras med prestandatester och bild-evaulatorn \FLIP. Resultat. Resultaten visar att minska mängden strålar med hårdvarubaserad VRS resulterar i en prestandaökning. Skillnaden i visuell kvalité mellan inline strålspårning kombinerat med VRS och tidigare tekniker är jämförbara. Prestandatesterna visar att inline strålspårning presterar värre än strålgenererings shaders vid ökad scenkomplexitet. Slutsatser. Slutsatsen är att hårdvarubaserad VRS kan användas för att minska antalet strålar och resultera i bättre prestanda, medan den visuella kvalitén är jämförbar med tidigare tekniker. Inline strålspårning ger inte bättre prestanda än strålgenererings shaders vid strålspårade reflektioner och liknande arbetsbelastning.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-21945 |
Date | January 2021 |
Creators | Dahlin, Alexander |
Publisher | Blekinge Tekniska Högskola, Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0027 seconds