Generating and rendering ribbons from a stream of particles is common in games and VFX to visualize flow. To create detailed smooth particle ribbons this work combines tessellation and B-splines, which gives smooth surfaces with contiguous normals. The traditional pipeline for doing hardware tessellation with hull- and domain shaders is limited to a maximum tessellation level, which limits how much detail a ribbon can get. In Nvidia’s Turing architecture, mesh- and task shaders were introduced, which provide support for tessellating geometry while not having any constraints on the amount of geometry that can be generated. This work evaluates three implementations for generating and drawing smooth particle ribbons by measuring performance in terms of execution time. The implementations are based on mesh shaders, mesh + task shaders and the traditional pipeline. In turn, three optimizations are proposed. The optimizations evaluated are adaptive level of detail, culling and Gouraud shading. The results show that the traditional pipeline is faster than using mesh shader based tessellation up to its maximum tessellation factor. For larger tessellation factors, when combining adaptive LOD, culling and Gouraud shading, mesh and task shaders combined can generate ribbons at higher quality than the traditional tessellation pipeline, with comparable performance. / Att generera och rendera band från partikelströmmar är vanligt i spel och VFX för att visualisera flöden. För att skapa detaljrika mjuka partikelband kombinerar det här arbetet tessellering och B-splines, vilket ger mjuka ytor med kontinuerliga normaler. Den traditionella pipelinen för att göra hårdvarutessellering med hull- och domain shaders är begränsade till en maximal tesselleringsnivå, vilket begränsar hur detaljrik ett band kan bli. Med Nvidias turingarkitektur introducerades mesh- och task shaders, vilket också stödjer tessellering av geometri med fördelen att inte vara begränsade till en maximal tesselleringsnivå. Det här arbetet evaluerar tre implementationer av mjuka partikelband när de genereras och ritas genom att mäta prestanda genom exekveringstid. Implementationerna är baserade på mesh shaders, mesh + task shaders och den traditionella pipelinen. Utöver detta föreslås tre optimeringar. Dessa optimeringar är adaptiv LOD, culling och Gouraud shading. Resultaten visar att den traditionella pipelinen är snabbare än att använda mesh shaderbaserad tessellering upp till och med dess maximala tesselleringsfaktor. För större tesselleringsfaktorer, när adaptiv LOD, culling och Gouraud shading kombineras, kan mesh och task shaders tillsammans generera band med högre kvalitet än den traditionella tesselleringspipelinen, med jämförbar prestanda.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-317050 |
Date | January 2022 |
Creators | Eriksson, Oliver |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
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 |
Relation | TRITA-EECS-EX ; 2022:184 |
Page generated in 0.0192 seconds