Meine Masterarbeit hat sich mit der Implementation von Skinning-Verfahren in WebGPU auseinandergesetzt.
Dabei wurden zwei gängige Echtzeitverfahren, Linear Blend Skinning (LBS) und Dual-Quaternion Skinning (DQS), implementiert und das Optimised Centers of Rotation Skinning, kurz CRS.
Hier existiert ein Schritt der Vorberechnung, welcher pro Vertex ein neues Rotationszentrum
berechnet. Die Idee dahinter ist, dass Vertices, welche eine ähnliche Gewichtung aufweisen, auch ein ähnliches Rotationszentrum besitzen.
Für die Umsetzung wurden WebGPU und TypeScript verwendet, sowie glTF als Format für die verschiedenen 3D-Modelle. Um die Modelle zu laden, wurde ein eigener Loader entwickelt, um die Informationen für die eigene Engine aufzubereiten und flexibel agieren zu können.
Ziel war es unter anderem herauszufinden, wie performant die Skinning Verfahren sich im Web verhalten und ob CRS eine effiziente Echtzeitalternative zu den gängigen Verfahren LBS und DQS darstellt.
• Lukas Niederhaus