GeForceFX: NVIDIA geht Hollywood?

NVIDIA 2.0+ Die Programmierbarkeit der Pixel- und Vertex-Shader übertrifft die Anforderungen der DirectX-9-Spezifikation deutlich. Deshalb betont NVIDIA dies durch Hinzufügen eines "+" zu ihrer Bezeichnung. Die Einführung aller Features und Möglichkeiten dieser neuen Shader ist weit über den Fokus dieses Artikels hinaus, und am Ende könnten nur Shader-Programmierer zu einer echten Schlussfolgerung über den Wert dieser Features kommen. Ein S

NVIDIA 2.0+

Die Programmierbarkeit der Pixel- und Vertex-Shader übertrifft die Anforderungen der DirectX-9-Spezifikation deutlich. Deshalb betont NVIDIA dies durch Hinzufügen eines "+" zu ihrer Bezeichnung. Die Einführung aller Features und Möglichkeiten dieser neuen Shader ist weit über den Fokus dieses Artikels hinaus, und am Ende könnten nur Shader-Programmierer zu einer echten Schlussfolgerung über den Wert dieser Features kommen.

Ein Screenshot von Ogre, dem Charakter im Spellbound-Film YEAH. NVIDIA verwendete es in einer Echtzeit-Demo.

Ein Überblick über die GeForceFX-Erweiterungen:

GeForceFX Vertex Shader 2.0+

Erweiterungen gegenüber DirectX 9 (Standard):

256 Anweisungen des gespeicherten Programms (war 128); 256 Konstanten (war 96); Vektoradressregister (war ein Skalar); Die maximale Anzahl der Befehle, die pro Shader ausgeführt werden können, beträgt jetzt 65.536.

Die Highlights, wie von NVIDIA präsentiert:

Bis zu 65.536 Vertex-Anweisungen pro Vertex (bis zu 256 statische Anweisungen pro Shader)
Die CineFX-Shading-Engine bietet eine beispiellose Menge an Vertex-Verarbeitungsfunktionen. Zusätzlich zur Verdoppelung des Befehlsspeichers erhöht die Hinzufügung eines Kontrollflusses dramatisch die Menge an tatsächlicher Berechnung, die für jeden Eckpunkt auftreten kann. Diese Flexibilität verringert die Gesamtzahl der von einer Anwendung benötigten Vertex-Shader.

Bis zu 256 Vektorkonstanten
Die Anzahl der im CineFX-Vertex-Shader verfügbaren Konstantregister hat sich mehr als verdoppelt - von 96 auf bis zu 256 Vierer-Worte! Dieser Anstieg ermöglicht wesentlich mehr Knochenmatrizen für das Enthäuten von Matrix-Paletten und viel mehr gleichzeitige Lichtquellen.

Sechzehn temporäre Vektorregister
Temporärer Registerspeicher hat von 12 auf 16 um 33% zugenommen. Dieser temporäre Speicher ist besonders hilfreich bei den größeren Programmen, die von der CineFX-Engine unterstützt werden.

Bis zu 64 separate Schleifen
Die CineFX-Vertex-Shading-Engine ermöglicht einfachere Programme, da sie vollständig abhängige Schleifen und Verzweigungen (einschließlich verschachtelter Schleifen und Verzweigungen) mit bis zu 64 eindeutigen Verzweigungszielen in einem einzelnen Shader-Programm unterstützt. Das Schleifen über alle Lichtquellen und die anschließende Verzweigung zu der entsprechenden Lichtart ist jetzt ein Kinderspiel.

Pro-Komponente bedingte Codes und Schreibmasken
Bedingungscodes sind die Grundlage für datenabhängige Verzweigungen, sie können jedoch auch die Leistung verbessern und den Code für bedingte Zuweisungen vereinfachen.

Aufruf und Rückgabe (Unterprogramme)
Zusätzlich zu den CineFX-Verzweigungsfunktionen unterstützt der Vertex-Prozessor die vollständige Subroutine CALL / RETURN-Semantik mit einem bis zu vier tiefen Aufruf-Stack.

Schleifen und Verzweigungen für den statischen und den dynamischen Kontrollfluss
Vollständig allgemeine Schleifen und Verzweigungen (zusammen mit abhängiger Datenreferenz) machen die Vertex-Schattierungs-Engine von CineFX so flexibel und leistungsstark.

Top