2016-10-22 7 views
-1

Ich brauche Hilfe beim Rendern eines .vox-Modells in OpenGL.Wie man ein .vox Voxel Modell in OpenGL rendert?

The .VOX file format is described here.

Here is an example VOX file reader.

Und hier ist, wo ich auf das Problem kommen - wie würde ich mich über ein .vox Modell in OpenGL-Rendering? Ich weiß, wie man Standardobj-Modelle mit Texturen unter Verwendung des Phong-Reflexionsmodells rendert, aber wie gehe ich mit Voxeldaten um? Welche Art von Daten sollte ich an die Shader weitergeben? Sollte ich die Daten irgendwie parsen, um den Index jedes einzelnen Voxels parsen zu lassen? Wie soll ich Vertices basierend auf Voxeldaten erstellen (sollte ich das auch tun)? Soll ich alle Teile weitergeben oder gibt es eine einfache Möglichkeit, diejenigen herauszufiltern, die nicht sichtbar sind?

Ich habe versucht, nach Informationen zu diesem Thema zu suchen, aber kam leer. Was ich versuche zu erreichen, ist etwas wie MagicaVoxel Viewer, aber viel einfacher, ohne all diese anpassbaren Optionen und mit nur einer einzigen Lichtquelle.

Ich versuche nicht nach einer fertigen Lösung zu suchen, aber wenn mir jemand in die richtige Richtung zeigen könnte, wäre ich sehr dankbar.

+1

Wie möchten Sie ein Voxel-Bild rendern? –

+0

Google Volume-Rendering – Spektre

+0

Es scheint, das Format unterstützt nur solide Würfel (die sie Voxel nennen). Der einfachste Weg besteht also darin, für jedes Voxel einen Würfel zu erstellen und diese zu rendern. –

Antwort

0

Nach etwas mehr Such entschied ich, die Würfel auf zwei Arten zu machen:

1) Ausgehend von Voxeldaten, werde ich Vertices erzeugen und sie an die Rohrleitung zuzuführen. 2) Unter Verwendung des geometrischen Shaders werde ich Eckpunkte basierend auf Voxelindizes ausgeben, um sie der Pipeline zuzuführen. Ich werde das gesamte Modell als 3D-Textur speichern.

Verwandte Themen