Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Skeletal Animation Optimization Using Mesh Shaders
Blekinge Institute of Technology, Faculty of Computing, Department of Creative Technologies.
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Background. In this thesis a novel method of skinning a mesh utilizing Nvidia’sTuring Mesh Shader pipeline is presented. Skinning a mesh is often performed with a Vertex Shader or a Compute Shader. By leveraging the strengths of the new pipeline it may be possible to further optimize the skinning process and increase performance, especially for more complex meshes.

Objectives. The aim is to determine if the novel method is a suitable replacement for existing skinning implementations. The key metrics being studied is the total GPU frame time of the novel implementation in relation to the rest, and its total memory usage.

Methods. Beyond the pre-existing implementations such as Vertex Shader skinning and Compute Shader skinning, two new methods using Mesh Shaders are implemented. The first implementation being a naive method that simply divides the mesh into meshlets and skins each meshlet in isolation. The proposed novel common influences method instead takes the skinning data, such as the joint influences of each vertex, into account when generating meshlets. The intention is to produce meshlets where all vertices are influenced by the same joints, allowing for information to be moved from a per vertex basis to a per meshlet basis. Allowing for fewer fetches to occur in the shader at run-time and potentially better performance.

Results. The results indicate that utilizing Mesh Shaders results in approximately identical performance compared to Vertex Shader skinning, (which was observed to be the fastest of the previous implementations) with the novel implementation being marginally slower due to the increased number of meshlets generated. Mesh Shading has the potential to be faster if optimizations unique to the new shaders are employed. Despite producing more meshlets, the novel implementation is not significantly slower and is faster at processing individual meshlets compared to the naive approach. The novel Common Influences implementation spends between 15-22% less time processing each meshlet at run-time compared to the naive solution.

Conclusions. Ultimately the unique capabilities of Mesh Shaders allow for potential performance increases to be had. The proposed novel Common Influences method shows promise due to it being faster on a per meshlet basis, but more work must be done in order to reduce the number of meshlets generated. The Mesh Shading pipeline is as of writing very new and there is a lot of potential for future work to further enhance and optimize the work presented in this thesis. More work must be done in order to make the meshlet generation more efficient so that the run-time workload is reduced as much as possible.

Abstract [sv]

Bakgrund. I denna avhandling presenteras en ny metod för att deformera en modell med hjälp av den nya Mesh Shader funktionaliteten som är tillgänglig i Nvidias nya Turing arkitektur. Deformering av modeller utförs just nu oftast med så kallade Vertex eller Compute Shaders. Genom att nyttja styrkan hos den nya arkitekturen så kan det vara möjligt att ytterligare optimera deformeringsprocessen och på så sätt öka prestandan. Speciellt i samband där mer komplexa modeller används.

Syfte. Syftet är att avgöra om den nya metoden är en lämplig ersättning av de nuvarande implementationerna. De viktigaste aspekterna som studeras är den totala GPU-exekveringstiden per bild som renderas av den nya metoden i förhållande till resterande, samt dess totala minnesanvändning.

Metod. Utöver de befintliga implementeringarna, såsom Vertex Shader deformering och Compute Shader deformering, implementeras två nya metoder som använder Mesh Shaders. Den första implementeringen är en naiv metod som helt enkelt delar modellen i mindre delar, så kallade meshlets och deformerar varje meshlet i isolering. Den föreslagna nya common influences metoden tar i stället hänsyn till deformeringsdatan som tillhör modellen, såsom de gemensamma inverkningarna av varje vertex, vid generering av meshlets.  Avsikten är att producera meshlets där alla vertriser påverkas av samma leder i modellens skelett, vilket gör det möjligt att flytta informationen från en per vertris basis till en per meshlet basis. Detta tillåter att färre hämtningar sker på grafikkortet vid körning och vilket kan potentiellt ge bättre prestanda.

Resultat. Resultaten indikerar att utnyttjandet av Mesh Shaders resulterar i ungefär samma prestanda jämfört med Vertex Shader deformering, (som observerades vara den snabbaste av de existerande implementationerna) samt att den orginella implementationen är marginellt långsammare på grund av ett högre antal meshlets genereras. Mesh Shading har potential till att bli snabbare om optimeringar somär unika till den nya arkitekturen används. Trots att man producerar fler meshlets,är den nya metoden inte markant långsammare och är snabbare med att bearbeta meshlets individuellt jämfört med den naiva implementationen. Den orginella implementationen spenderar mellan 15-22% mindre tid per meshlet vid körtid jämfört med den naiva lösningen.

Slutsatser. I slutändan så erbjuder Mesh Shaders unika nya möjligheter till optimeringar som kan leda till potentiellt bättre prestanda. Den föreslagna nya Common Influences-metoden är lovande på grund av att den är snabbare per meshlet, men mer arbete måste utföras för att minska antalet genererade meshlets. Mash Shaders och Turing arkitekturen är vid skrivande stund fortfarande väldigt nya och det finns mycket potential för framtida arbeten att yterrligare förbättra och optimera det arbete som presenteras i denna avhandling. Mer arbete måste utföras för att göra meshletgenereringen effektivare så att arbetet som måste utföras under körtid minskas så mycket som möjligt.

Place, publisher, year, edition, pages
2019. , p. 49
Keywords [en]
Turing Mesh Shaders, Skeletal Animation, Skinning
Keywords [sv]
Turing Mesh Shaders, Skeletal Animation, Skinning.
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:bth-18248OAI: oai:DiVA.org:bth-18248DiVA, id: diva2:1332745
External cooperation
Epic Games, Inc
Subject / course
Degree Project in Master of Science in Engineering 30,0 hp
Educational program
PAACI Master of Science in Game and Software Engineering
Supervisors
Examiners
Available from: 2019-07-02 Created: 2019-06-28 Last updated: 2019-07-02Bibliographically approved

Open Access in DiVA

fulltext(1883 kB)47 downloads
File information
File name FULLTEXT01.pdfFile size 1883 kBChecksum SHA-512
3d2fcb435ecab5f107b8fa647d450d1d95dd58fceabca77201f49a96ae909fc366777f405e3b52a18e357ada4e103052ec94e25b1df2ff6d752aced69504e8b7
Type fulltextMimetype application/pdf

By organisation
Department of Creative Technologies
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 47 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 342 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf