メッシュ最適化ライブラリmeshoptimizer v0.9がリリース

meshoptimizer v0.9がリリースになったようですね.

v0.9のリリースノート
https://github.com/zeux/meshoptimizer/releases/tag/v0.9

meshoptimizerって何?という方は以前下記の記事を書きましたが,基本機能は現在も同じなので参考になると思います.

オープンソースのメッシュ最適化ライブラリmeshoptimizerとメッシュ最適化の話題
http://www.shader.jp/?p=2279

今回,個人的に興味深いのはNew algorithmsの記述ですね.

  • Introduce an experimental algorithm, meshopt_buildMeshlets, that can create meshlet data from index buffer that can be used to efficiently drive the mesh shading pipeline in NVidia RTX GPUs
  • Introduce experimental algorithms, meshopt_computeClusterBounds and meshopt_computeMeshletBounds, that can compute bounding sphere and bounding normal cone for use in GPU cluster culling.
  • Introduce an experimental algorithm, meshopt_generateShadowIndexBuffer, that can generate a second index buffer that shares the vertex data with the original index buffer, but is more efficient when a subset of vertex attributes is needed.

meshoptimizerはDirect3D9時代ぐらいからある最適化に加えて新しい最適化やメッシュ圧縮手法が加わっていますが,今回はexperimental algorithmということで実験的な機能だそうですが,かなり先端的な手法の取り込みがきていますね.上から

  • GeForce RTXシリーズのMesh Shader向けのmeshletをindex bufferから作成する機能
  • GPU cluster cullingのための
  • Shadow描画用のIndex Bufferの作成

となります.GPUのジオメトリ機能の進歩で最適化の在り方も変わってきそうなところが見えてきますね.

なお,今回の機能についてはMesh Shaderの理解が必要になりますが,NVIDIAの記事が参考になります.

Introduction to Turing Mesh Shaders
https://devblogs.nvidia.com/introduction-turing-mesh-shaders/