ATI TRUFORM – Rund soll es sein! - Seite 3

Anzeige

Wie funktioniert TRUFORM?

TRUFORM baut auf den bisherigen Modellen bzw. den aus ihnen bestehenden Dreiecken auf, die die Spiele-Designer bereits erstellt haben. Das heißt, es ist nicht notwendig, Games von Grund auf neu zu programmieren. Für jedes Dreieck sind allerdings ein paar Zusatzinformationen zu übertragen, die die Rundung der Oberfläche definieren.


Unterschied von bisheriger Dreiecksdarstellung zu N-Patches
Unterschied von bisheriger Dreiecksdarstellung zu N-Patches

Es ist hier sehr schön zu sehen, dass die eigentliche Transformation des flachen in ein abgerundetes Dreieck innerhalb des Grafikchips vorgenommen wird. Systemprozessor und AGP-Bus werden nicht damit belastet.
Ein nicht mit der N-Patch Technologie ausgestatteter Grafikchip wird die Zusatzinformationen für den TRUFORM-Chip einfach ignorieren und wie bisher sein flaches Dreieck darstellen.

Woher weiß aber der Grafikchip, wie er das Dreieck zu krümmen hat? Dazu müssen wir ein wenig ins analytische Detail gehen. Mathematik-Hasser mögen bitte mit der nächsten Seite fortfahren. 😉

Kubische Bezier-Kurve
Die Rundung des Dreiecks wird durch eine kubische Beziér-Kurve realisiert. Eine solche wird durch vier Kontrollpunkte definiert. Den Anfangs- (a) und den Endpunkt (d) sowie zwei weitere Punkte (b + c), die die Krümmung der Kurve beeinflussen.
Anfangs- und Endpunkte der Dreiecksseiten sind wie bisher bekannt, braucht man also noch ein paar weitere Kontrollpunkte. Diese werden aus den oben bereits erwähnten Zusatzinformationen gewonnen – nämlich den drei Normalen (senkrecht aus der Fläche herauszeigenden Vektoren) der drei Eckpunkte.
Um es kurz zu machen: Mit Hilfe mathematischer Funktionen werden pro Seite des Dreiecks jeweils zwei Kontrollpunkte ermittelt. Durch diese nun insgesamt neun Kontrollpunkte wird dann der zehnte und letzte Punkt in der Mitte des Dreicks definiert. Jeder N-Patch setzt sich aus genau diesen zehn Kontrollpunkten zusammen.


Kontrollpunkte eines N-Patches
Kontrollpunkte eines N-Patches

Verbindet man die Punkte untereinander, erkennt man schon, wie es weiter geht. Das gekrümmte Dreieck wird nun vom Grafikchip in kleinere Dreiecke zerlegt, die dann transformiert und beleuchtet werden. Auf diese Weise ergibt sich der hohe Detailgrad der Darstellung.
Dabei kann der Spieleentwickler sogar noch den Grad der Zerlegung bestimmen. Man muss nicht aus jedem N-Patch genau neun Dreiecke gewinnen, sondern kann bei Bedarf auch weniger definieren.

Auch die Beleuchtung der N-Patches kann deutlich verbessert werden. Eine Beschreibung dieser Theorie würde allerdings an dieser Stelle zu weit führen. ATI gibt an, dass man mit dieser Technologie fast das Niveau von “Phong Shading” erreicht. Dafür ist aber auch ein etwas erhöhter Rechenaufwand zu berücksichtigen, allerdings kein so hoher, wie er für Phong Shading normalerweise erforderlich ist.
Für weitergehende Informationen verweise ich auf das TRUFORM White Paper (807KB).

Frank Schräer

Herausgeber, Chefredakteur und Webmaster

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert