Google Draco komprimiert 3D-Geometrie für Browser und Anwendungen

Google hat am 13. Januar 2017 Draco als Open-Source-Bibliothek zur Kompression von 3D-Geometrie vorgestellt. Das Chrome-Media-Team will damit den Speicherbedarf und die Übertragungsmenge von Meshes und Punktwolken verringern. Eine Demonstration vergleicht Draco und gzip beim Laden eines 3D-Modells.

Geometrie komprimieren statt Bilder rendern

Draco verarbeitet Punkte, Verbindungsinformationen, Texturkoordinaten, Farben und Normalen. Der JavaScript-Decoder ermöglicht die Einbindung in browserbasierte 3D-Anwendungen; Google liefert Beispiele für three.js mit. Die Aufgabe unterscheidet sich von Googles zuvor freigegebenem SwiftShader: Dieser berechnet Grafik auf der CPU, während Draco geometrische Daten vor der Darstellung entpackt.

Dateigröße gegen Präzision und Rechenzeit abwägen

Die Projektdokumentation zum Stand vom 13. Januar beschreibt einen CMake-Build sowie Werkzeuge zum Umwandeln von OBJ- und PLY-Dateien in das Draco-Format. Der Quellcode steht unter Apache 2.0. Anwendungen können die C++-Bibliothek einbinden oder den JavaScript-Decoder verwenden.

Die Quantisierung der Punktpositionen ist einstellbar. Standardmäßig verwendet das Kommandozeilenwerkzeug dafür 14 Bit; weniger Bits verkleinern die Daten, verringern aber die Genauigkeit. Eine Einstellung von null deaktiviert die Quantisierung. Zusätzlich reicht der Kompressionsgrad von 0 bis 10. Höhere Werte können kleinere Dateien liefern, erhöhen laut Dokumentation jedoch den Dekodieraufwand.

Damit ist eine kleinere Datei nicht automatisch die beste Einstellung für jede Laufzeitumgebung. Für eine Asset-Pipeline sind auch die verbleibende geometrische Genauigkeit und die Entpackzeit auf dem Zielgerät relevant. Die von Google veröffentlichten Vergleichswerte beruhen auf quantisierten Testmodellen und sind keine Zusage generell verlustfreier Kompression.

Mehrere Detailstufen sind erst angekündigt

Mehrere Detailstufen aus einem einzigen Modell nennt Google als geplante Erweiterung. Sie gehören damit nicht zum hier vorgestellten Funktionsumfang. Die erste Veröffentlichung konzentriert sich auf das Komprimieren und Dekodieren vorhandener Geometriedaten.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein