Eine 3D-Textur ist mathematisch beschrieben eine sich in drei Dimensionen entfaltende Funktion, die jedem Punkt, der sich im definierten Bereich befindet, einen Wert zuweist. Sie unterscheidet sich von einer beim Texture Mapping verwendeten 2D-Textur lediglich in der Belegung der Eckpunkte mit dreidimensionalen Koordinaten. Die Slices sind zur Bildschirmebene parallel auszurichten und vergleichbar mit der Back-to-Front-Methode zu akkumulieren. Es werden also die von der Bildschirmebene am weitesten entfernten Texturelemente (sogenannte Slices) und dann schrittweise alle weiteren in Richtung des Framebuffer liegenden Texturelemente akkumuliert. Siehe auch: Compositing.
Die Skizze zeigt die Zwischenrepräsentation der Oberflächen, parallel zur Bildschirmoberfläche ausgerichtet. Nach Anwenden von Filtern und Transferfunktionen wird ein entsprechendes Resultat dargestellt (siehe dritte Abbildung: Gewebe). Quelle: "Combining Local and Remote Visualization Techniques for Interactive Volume Rendering in Medical Applications" von K.Engel et al.
Durch die Verwendung von Hardwarekomponenten, die über einen 3D-Texturspeicher verfügen und Volumendaten laden können, bietet diese von Cabral vorgestellte Visualisierungstechnik eine Variante unter den Objektraumverfahren.
Der Rechenaufwand steigt stark mit steigender Anzahl der darzustellenden Polygone: Bei einer 8-bit-Auflösung verhält sich der Speicherbedarf zur Auflösung linear: Eine Verdoppelung der Auflösung bedarf einer Verachtfachung des Speichers, z.B:
- 256 ^3 × 8 Bit = 16 MB
- 512 ^3 × 8 Bit = 128 MB
- 1024 ^3 × 8 Bit = 1 GB
Einsatz
Genau wie 2D-Texturen werden 3D-Texturen in der Computergrafik zur Darstellung von Oberflächen benutzt. Sie werden jedoch nicht als Rastergrafik auf die zugrundeliegenden Polygone projiziert, sondern als Proxyvolumen einer Proxygeometrie im Speicher repräsentiert.
Siehe auch
Literatur
- K. Engel u. a.: Real-Time Volume Graphics. AK Peters, 2006. ISBN 1-56881-266-3. S. 49 ff.