Review

ASUS V8200 Deluxe

3D-Texturen

3D-Texturen wurden als erstes von ATI mit ihrem Radeon im Endkonsumentenmarkt eingeführt. Da sich 3D-Texturen nun auch im aktuellen DirectX 8.1 Standard wiederfinden, sprang NVIDIA auf den Zug. Der GeForce beherscht 3D-Texturen und richtiges Filtern, wie bei 2D-Texturen. Somit sind Mip-Maps und trilineares Filtern in allen 3 Dimensionen möglich.

3D-Texturen

Mit 3D-Texturen werden einige neu Effekte möglich:

3D-Texturen
Korrektes Anschneiden von Textureobjekten

3D-Texturen
3D-Nebel, welcher in der Dichte und Form variieren kann

3D-Texturen
3D-Lichkegel

3D-Texturen
prozeduale Texturen, Explosionen oder Partikeleffekte

Zusätzlich kann der Texturespeicher auch genutzt werden, um Funktionswerte von Funktionen z.B. 3. oder 4. Ordnung (jedoch mit einer Konstanten) abzulegen.
Als Beispiel soll hier etwas genauer auf BRDF 
(bi-directional reflectance distribution function) eingegangen werden. BRDF sind komplexe Beleuchtungsfunktionen, welche Lichtreflektionen beschreiben die sich abhängig vom Material, Lichteinfallwinkel und Betrachtungswinkel ändern. Diese komplexen Funktionen werden durch verschieden Methoden der Dekomposition(ND - normalized decomposition, SVD - singular value decomposition) und Parametrisierung in Funktionen niedrigerer Ordnung zerlegt und in einer oder mehren 2D Texturen gespeichert - per GPU wird dann mit den Texturen gerechnet. Mit den 3D-Texturen kann nun auf mehrender Texturen verzichtet werden.

Koordinatentransformation
3D-Koordinaten im kartesischen Koordinatensystem benötigen 3 Parameter, im spherischen Koordinatensystem lediglich 2

BRDF
L beschreibt den Lichteinfallvektor, V den Betrachtungswinkel relativ zur Flächennormalen

BRDF

BRDF
die komplexen BRDF's müssen nun in simplerer Funktionen "zerlegt" werden

BRDF
hier sehen wir ein Problem - bei der Rekonstruktion einer ND-Dekomposition entstehen Fehler, die nur durch mehrer Terme und eine andere Art der Dekomposition beseitigt werden lönnen

BRDF - Fehlerminimierung
mit der SVD-Dekomposition und mehrern Termen lassten sich gute Ergebnisse erzielen und genau hier kann die 3. Dimension von 3D-Texturen genutzt werden

Hier noch ein paar Resultate, wobei zwischen echtem Raytracing und BRDF, welches jeweils 64 mal je Parameter gesampelt wurden, verglichen wird:

BRDF
die Oberflächeneigenschaften sind gut zu erkennen

Leider haben 3D-Texturen auch einen Nachteil - ihr Speicherverbrauch. Eine 3D-Texture mit der Größe 256x256x256 (16777216 * 32 Bit / 8)  belegt 64 MBytes. Somit benötigt man hier gewisse Texturekompressionsmethoden. Der GeForce 3 beherrscht hier verschiedene Methoden für die 4:1 Komprimierung, sowie eine Methode für die 8:1 Komprimierung. Damit kann man eine 64 MBytes 3D-Texture auf handliche 8 MBytes verkleinern.



<< vorherige Seite
                                                                        nächste Seite >>