Abstract
Compression of vertex attributes is crucial to keep bandwidth requirements in real-time rendering low. We present a method that encodes any given number of blend attributes for skinning at a fixed bit rate while keeping the worst-case error small. Our method exploits that the blend weights are sorted. With this knowledge, no information is lost when the weights get shuffled. Our permutation coding thus encodes additional data, e.g. about bone indices, into the order of the weights. We also transform the weights linearly to ensure full coverage of the representable domain. Through a thorough error analysis, we arrive at a nearly optimal quantization scheme. Our method is fast enough to decode blend attributes in a vertex shader and also to encode them at runtime, e.g. in a compute shader. Our open source implementation supports up to 13 weights in up to 64 bits.
Supplemental Material
Available for Download
Supplemental movie, appendix, image and software files for, Permutation Coding for Vertex-Blend Attribute Compression
- Niels Henrik Abel. 1826. Beweis der Unmöglichkeit, algebraische Gleichungen von höheren Graden als dem vierten allgemein aufzulösen. Journal für die reine und angewandte Mathematik 1, 1 (1826), 65--84. https://doi.org/10.1515/9783112347386-009Google Scholar
- Marc Alexa. 2002. Linear Combination of Transformations. ACM Trans. Graph. 21, 3 (2002). https://doi.org/10.1145/566654.566592Google ScholarDigital Library
- Dean Calver. 2002. Vertex Decompression in a Shader. In Direct3D ShaderX - Vertex and Pixel Shader Tips and Tricks, Wolfgang F. Engel (Ed.). Wordware Publishing, Inc., 172--187.Google Scholar
- Dean Calver. 2004. Using Vertex Shaders for Geometry Compression. In ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0, Wolfgang F. Engel (Ed.). Wordware Publishing, Inc., 3--12.Google Scholar
- Nicolas Fréchette. 2017. Simple and Powerful Animation Compression. https://www.gdcvault.com/play/1024009/Simple-and-Powerful-Animation Game Developers Conference.Google Scholar
- Ivo Zoltan Frey and Ivo Herzeg. 2011. Spherical Skinning with Dual Quaternions and QTangents. In ACM SIGGRAPH 2011 Talks. https://doi.org/10.1145/2037826.2037841Google Scholar
- Andrew Garrard. 2020. Khronos Data Format Specification v1.3.1. https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.html#_compressed_texture_image_formatsGoogle Scholar
- Jean Geffroy, Axel Gneiting, and Yixin Wang. 2020. Rendering the Hellscape of Doom Eternal. In ACM SIGGRAPH '20: ACM SIGGRAPH 2020 Courses. https://advances.realtimerendering.com/s2020Google Scholar
- Brian Karis, Rune Stubbe, and Graham Wihlidal. 2021. Nanite --- A Deep Dive. In ACM SIGGRAPH '21: ACM SIGGRAPH 2021 Courses. http://advances.realtimerendering.com/s2021Google Scholar
- Ladislav Kavan, Steven Collins, Jiří Žára, and Carol O'Sullivan. 2008. Geometric Skinning with Approximate Dual Quaternion Blending. ACM Trans. Graph. 27, 4 (2008). https://doi.org/10.1145/1409625.1409627Google ScholarDigital Library
- Benjamin Keinert, Matthias Innmann, Michael Sänger, and Marc Stamminger. 2015. Spherical Fibonacci Mapping. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 34, 6 (2015). https://doi.org/10.1145/2816795.2818131Google Scholar
- Donald E. Knuth. 1998. The Art of Computer Programming, Volume 3 -Sorting and Searching, 2nd Edition. Addison-Wesley Professional.Google ScholarDigital Library
- Bastian Kuth and Quirin Meyer. 2021. Vertex-Blend Attribute Compression. In High-Performance Graphics - Symposium Papers. The Eurographics Association. https://doi.org/10.2312/hpg.20211282 Best paper.Google Scholar
- Binh Huy Le and Zhigang Deng. 2013. Two-Layer Sparse Compression of Dense-Weight Blend Skinning. ACM Trans. Graph. (Proc. SIGGRAPH) 32, 4 (2013). https://doi.org/10.1145/2461912.2461949Google ScholarDigital Library
- Binh Huy Le and Jessica K. Hodgins. 2016. Real-Time Skeletal Skinning with Optimized Centers of Rotation. ACM Trans. Graph. (Proc. SIGGRAPH) 35, 4 (2016). https://doi.org/10.1145/2897824.2925959Google ScholarDigital Library
- Binh Huy Le and J P Lewis. 2019. Direct Delta Mush Skinning and Variants. ACM Trans. Graph. (Proc. SIGGRAPH) 38, 4 (2019). https://doi.org/10.1145/3306346.3322982Google ScholarDigital Library
- Binh Huy Le, Keven Villeneuve, and Carlos Gonzalez-Ochoa. 2021. Direct Delta Mush Skinning Compression with Continuous Examples. ACM Trans. Graph. (Proc. SIGGRAPH) 40, 4 (2021). https://doi.org/10.1145/3450626.3459779Google ScholarDigital Library
- Derrick H. Lehmer. 1960. Teaching combinatorial tricks to a computer. Proceedings of Symposia in Applied Mathematics 10 (1960), 179--193. https://doi.org/10.1090/psapm/010Google ScholarCross Ref
- Adrien Maglo, Guillaume Lavoué, Florent Dupont, and Céline Hudelot. 2015. 3D Mesh Compression: Survey, Comparisons, and Emerging Trends. ACM Comput. Surv. 47, 3 (2015). https://doi.org/10.1145/2693443Google ScholarDigital Library
- Nadia Magnenat-Thalmann, Richard Laperrière, and Daniel Thalmann. 1989. Joint-Dependent Local Deformations for Hand Animation and Object Grasping. In Proceedings on Graphics Interface '88. Canadian Information Processing Society.Google ScholarDigital Library
- David K. McAllister, Alexandre Joly, and Peter Tong. 2014. Lossless Frame Buffer Color Compression. United States Patent 8670613.Google Scholar
- Quirin Meyer, Jochen Süßmuth, Gerd Sußner, Marc Stamminger, and Günther Greiner. 2010. On Floating-Point Normal Vectors. Computer Graphics Forum (Proc. EGSR) 29, 4 (2010). https://doi.org/10.1111/j.1467-8659.2010.01737.xGoogle Scholar
- Jorn Nystad, Anders Lassen, Andy Pomianowski, Sean Ellis, and Tom Olson. 2012. Adaptive Scalable Texture Compression. In Eurographics/ACM SIGGRAPH Symposium on High Performance Graphics. The Eurographics Association. https://doi.org/10.2312/EGGH/HPG12/105-114Google Scholar
- Emil Persson. 2012. Creating Vast Game Worlds: Experiences from Avalanche Studios. In ACM SIGGRAPH 2012 Talks. Article 32. https://doi.org/10.1145/2343045.2343089Google ScholarDigital Library
- Budirijanto Purnomo, Jonathan Bilodeau, Jonathan D. Cohen, and Subodh Kumar. 2005. Hardware-Compatible Vertex Compression Using Quantization and Simplification. In Graphics Hardware. The Eurographics Association. https://doi.org/10.2312/EGGH/EGGH05/053-062Google Scholar
- Sylvain Rousseau and Tamy Boubekeur. 2020. Unorganized Unit Vectors Sets Quantization. Journal of Computer Graphics Techniques (JCGT) 9, 4 (2020). https://jcgt.org/published/0009/04/02/Google Scholar
- Henry S. Jr. Warren. 2012. Hacker's Delight, 2nd Edition. Addison-Wesley Professional.Google ScholarDigital Library
Index Terms
- Permutation Coding for Vertex-Blend Attribute Compression
Recommendations
Vertex-blend attribute compression
HPG '21: Proceedings of the Conference on High-Performance GraphicsSkeleton-based animations require per-vertex attributes called vertex-blend attributes. They consist of a weight tuple and a bone index tuple. With meshes becoming more complex, vertex-blend attributes call for compression. However, no technique exists ...
Conditional Entropy Coding of VQ Indexes for Image Compression
DCC '97: Proceedings of the Conference on Data CompressionVector quantization (VQ) is a source coding methodology with provable rate-distortion optimality. However, despite more than two decades of intensive research, VQ theoretical promise is yet to be fully realized in image compression practice. Restricted ...
United coding method for compound image compression
This paper proposes a compound image coding method named united coding (UC). In UC, several lossless coding tools such as dictionary-entropy coders, run-length encoding (RLE), Hextile, and a few filters used in portable network graphics (PNG) format are ...
Comments