DirectX 9 im Visier
Microsoft erweitert die Multimedia-Programmierschnittstelle DirectX. PC Games Hardware analysiert die Neuerungen der neunten DirectX-Version.
Mit der DirectX-Programmierschnittstelle stellt Microsoft den Spieleentwicklern standardisierte Funktionen zur Verfügung, um die Hardwareeinheiten moderner Grafikchips anzusprechen. Die Version 9 bringt die API auf den neuesten Stand und integriert Zugriffsfunktionen für die Features der aktuellen 3D-Generation (R300, NV30) in das Schnittstellenpaket. Der Schwerpunkt des Updates liegt bei der Verbesserung der Shader-Funktionalität, also der Möglichkeit, die Grafikchips mithilfe einer einheitlichen Schnittstelle über standardisierte Befehle direkt zu programmieren.
Warten auf Longhorn
Schwierigkeit: Für Einsteiger
Mit DirectX 9 baut Microsoft den Technikvorsprung zur alternativen Programmierschnittstelle OpenGL weiter aus. Rechtliche Probleme sowie Uneinigkeit innerhalb des Herstellergremiums lähmen dort die Stan-
dardisierungsbemühungen und sorgen dafür, dass OpenGL nicht einmal den technischen Stand von DirectX 8.1 erreicht. Allerdings plant Microsoft, vorerst kein weiteres DirectX-Update nachzuschieben. Bis zum Erscheinen der nächsten Windows-Generation (Codename "Longhorn") im Jahre 2004 will der Software-Hersteller keine neue DirectX-Version veröffentlichen. Um dennoch den Ansprüchen der Hardwareindustrie gerecht zu werden, integrierte man die in den kommenden Chipgenerationen absehbaren Fähigkeiten bereits ins aktuelle Schnittstellenpaket. So bietet DirectX 9 eine evolutionäre Shader-Version 2.0 und eine sehr fortschrittliche Version 3.0. Damit soll sichergestellt werden, dass auch künftige Grafikchips direkt mit DirectX 9.0 zu programmieren sind.
Vertex Shader von DirectX 9
Schwierigkeit: Für Fortgeschrittene
Über die Vertex-Shader-Schnittstelle beeinflussen die Programmierer das Verhalten der Transformations- und Beleuchtungseinheit (T&L). Kleine Programme mit kryptischen Maschinenanweisungen lassen sich zum Grafikchip schicken, um dort Position und Farbe der Dreieckseckpunkte zu beeinflussen oder auch um Koordinatenangaben für die spätere Texturierung zu bestimmen. Gegenüber DirectX 8 verdoppelte Microsoft die Programmlänge pro Berechnungsdurchgang ("Pass") auf 256 Instruktionen in der Version 2.0 respektive mindestens 512 Instruktionen in der Version 3.0. Ebenfalls erweitert wurden die chipinternen Speicherplätze, die beispielsweise für Skelett- oder Bewegungsinformationen genutzt werden können. 256 statt 96 lesbarer Datenparkplätze stehen nun zur Verfügung, was insbesondere bei der Charakteranimation (Matrix Palette Skinning) Vorteile bringt. Des Weiteren wurde der Befehlssatz um Anweisungen für trigonometrische Berechnungen (Sinus/Cosinus), Kreuzprodukte, lineare Vermischungen und ereinheitlichungsberechnungen ergänzt. Allein der Vertex-Shader-Version 3.0 vorbehalten sind Texturzugriffe. Bis zu vier Texturen beeinflussen im VS-3.0-Standard die Positions- und Beleuchtungsberechnungen der Dreieckseckpunkte.
