Retour à l'accueil

meshoptimizer 1.1 : compression de meshlet

meshoptimizer 1.1 introduit un codec pour la compression de meshlet avec décompression jusqu'à 150 GB/s sur GPU et génération de micromap d'opacité pour Vulkan/DirectX. L'encodage indépendant simplifie l'intégration. Adapté pour optimiser des scènes 3D complexes en temps réel.

meshoptimizer 1.1 : compression de meshlet ultra-rapide et OMM
Advertisement 728x90

meshoptimizer 1.1 : Compression des meshlets et micromaps d’opacité

La nouvelle version de la bibliothèque meshoptimizer 1.1 ajoute un codec pour la compression des meshlets et un support pour la génération de micromaps d’opacité. Cette mise à jour se concentre sur l’optimisation de la topologie pour le rendu GPU et l’accélération du ray tracing. Le développement est réalisé en C++ et JavaScript sous licence MIT, avec des contributions principales de Valve.

Optimisation des maillages triangulaires

La bibliothèque meshoptimizer améliore le traitement des sommets et des indices dans les étapes du pipeline GPU. Les algorithmes réduisent la complexité des maillages, minimisent les coûts de stockage et augmentent l’efficacité du rendu. Depuis 2017, le projet a évolué, la version 1.0 ayant été publiée en décembre 2025.

Outils associés :

Google AdInline article slot
  • gltfpack : utilitaire en ligne de commande pour l’optimisation automatique des fichiers glTF.
  • clusterlod.h : bibliothèque C/C++ pour LOD clusterisé avec niveau de détail continu.

Codec de compression des meshlets

Le nouveau codec compresse la topologie des meshlets en exploitant la localité des micro-indices et des données de sommets. Chaque meshlet est encodé de manière indépendante, ce qui simplifie le parallélisme et la structure de stockage en temps d’exécution.

Le décodage est optimisé pour une haute vitesse :

  • CPU : 7–10 GB/s sur les processeurs de bureau, compatible avec la mémoire write-combined.
  • GPU : >150 GB/s sur RTX 5070 via shader de calcul.

Les données de sortie sont en outre compressées avec Zstandard. Le décodeur génère des formats de 3/4 octet par triangle et 2/4 octet par sommet pour une utilisation directe sur GPU.

Google AdInline article slot

Micromaps d’opacité

Les fonctions génèrent des micromaps prêtes pour le matériel à partir des coordonnées UV des maillages et de la texture alpha. Support pour Vulkan (VK_EXT_opacity_micromap) et DirectX (DXR 1.2).

Chaque triangle est divisé en 4^N micro-triangles le long des UV. Options de représentation :

  • 2 états (1 bit) : élimination complète des appels de shader pour une performance maximale en ray tracing.
  • 4 états (2 bits) : accélération des shaders any-hit via consultation de texture.

La réutilisation des maps entre triangles via tampon d’indices OMM minimise la mémoire. Pour les 4 états, un repli sur 2 états est disponible.

Google AdInline article slot

Points clés

  • Le codec de meshlets offre un décompression à 7–10 GB/s sur CPU et >150 GB/s sur GPU.
  • Micromaps générées à partir des UV et de l’alpha, compatibles avec Vulkan/DirectX.
  • Encodage indépendant des meshlets simplifie le parallélisme et le stockage en temps d’exécution.
  • Support des états 1/2 bit pour optimiser le ray tracing et les shaders.
  • Compression supplémentaire avec Zstandard pour la taille finale.

Cette mise à jour vise les développeurs intermédiaires et seniors travaillant avec le rendu GPU et le ray tracing dans les moteurs de jeu. L’intégration ne nécessite aucun changement aux pipelines existants.

— Editorial Team

Advertisement 728x90

Lire ensuite