Zurück zur Startseite

meshoptimizer 1.1: Meshlet-Komprimierung

meshoptimizer 1.1 führt Codec für Meshlet-Komprimierung mit Dekomprimierung bis zu 150 GB/s auf GPU und Opacity-Micromap-Generierung für Vulkan/DirectX ein. Unabhängige Kodierung vereinfacht die Integration. Geeignet zur Optimierung komplexer 3D-Szenen in Echtzeit.

meshoptimizer 1.1: ultraschnelle Meshlet-Komprimierung und OMM
Advertisement 728x90

meshoptimizer 1.1: Meshlet-Kompression und Opacity Micromaps

Die neue Version der meshoptimizer 1.1-Bibliothek fügt einen Codec für Meshlet-Kompression und Unterstützung für die Generierung von Opacity Micromaps hinzu. Das Update konzentriert sich auf Topologieoptimierung für GPU-Rendering und Beschleunigung des Raytracings. Die Entwicklung erfolgt in C++ und JavaScript unter der MIT-Lizenz, mit primären Beiträgen von Valve.

Optimierung von Dreiecksmeshes

Die meshoptimizer-Bibliothek verbessert die Verarbeitung von Vertices und Indizes in den GPU-Pipeline-Stufen. Algorithmen reduzieren die Komplexität des Meshes, minimieren Speicherkosten und steigern die Renderingeffizienz. Seit 2017 wird das Projekt weiterentwickelt, Version 1.0 erschien im Dezember 2025.

Zugehörige Tools:

Google AdInline article slot
  • gltfpack: Kommandozeilen-Tool zur automatischen Optimierung von glTF-Dateien.
  • clusterlod.h: C/C++-Bibliothek für geclusterte LOD mit kontinuierlichem Detailniveau.

Meshlet-Kompressions-Codec

Der neue Codec komprimiert die Meshlet-Topologie, indem er die Lokalität von Micro-Indizes und Vertex-Daten ausnutzt. Jedes Meshlet wird unabhängig kodiert, was Parallelität und die Laufzeit-Speicherstruktur vereinfacht.

Das Dekodieren ist für hohe Geschwindigkeiten optimiert:

  • CPU: 7–10 GB/s auf Desktop-Prozessoren, funktioniert mit write-combined memory.
  • GPU: >150 GB/s auf RTX 5070 via Compute-Shader.

Ausgabedaten werden zusätzlich mit Zstandard komprimiert. Der Decoder erzeugt Formate mit 3/4 Bytes pro Dreieck und 2/4 Bytes pro Vertex für den direkten GPU-Einsatz.

Google AdInline article slot

Opacity Micromaps

Funktionen erzeugen hardwarefertige Micromaps aus Mesh-UV-Koordinaten und Alpha-Texture. Unterstützung für Vulkan (VK_EXT_opacity_micromap) und DirectX (DXR 1.2).

Jedes Dreieck wird entlang der UV in 4^N Micro-Dreiecke unterteilt. Darstellungsoptionen:

  • 2-Zustände (1 Bit): vollständige Eliminierung von Shader-Aufrufen für maximale Raytracing-Performance.
  • 4-Zustände (2 Bits): Beschleunigung von any-hit-Shaders via Texture-Lookup.

Die Wiederverwendung von Karten zwischen Dreiecken über einen OMM-Index-Buffer minimiert den Speicherbedarf. Für 4-Zustände steht ein Fallback auf 2-Zustände zur Verfügung.

Google AdInline article slot

Wichtige Punkte

  • Meshlet-Codec bietet Dekompression mit 7–10 GB/s auf CPU und >150 GB/s auf GPU.
  • Micromaps aus UV und Alpha generiert, kompatibel mit Vulkan/DirectX.
  • Unabhängige Meshlet-Kodierung vereinfacht Parallelität und Laufzeit-Speicher.
  • Unterstützung für 1/2-Bit-Zustände zur Optimierung von Raytracing und Shaders.
  • Zusätzliche Zstandard-Kompression für die endgültige Größe.

Das Update richtet sich an Mid-/Senior-Entwickler, die mit GPU-Rendering und Raytracing in Game-Engines arbeiten. Die Integration erfordert keine Änderungen an bestehenden Pipelines.

— Editorial Team

Advertisement 728x90

Weiterlesen