Auf der Game Developers Conference hat das D3D-Team von Microsoft am 19. März 2018 DirectX Raytracing (DXR) angekündigt, eine Erweiterung der Grafik-API für Echtzeit-Raytracing. Entwickler bekommen damit eine standardisierte Schnittstelle, um Strahlverfolgung direkt in bestehende Renderpfade einzubinden, statt auf proprietaere Lösungen einzelner Anbieter zurückzugreifen. Die Erweiterung setzt auf DirectX 12 auf. Zur Ankündigung gab es außerdem ein experimentelles SDK zum Ausprobieren.
DXR bringt vier neue Bausteine in die API. Erstens Beschleunigungsstrukturen, die die Geometrie einer Szene in einer zweistufigen Hierarchie aus Geometrien und Instanzen ablegen. Zweitens den Befehl DispatchRays, der die Strahlerzeugung anstoesst. Dazu kommen neue HLSL-Shadertypen für Ray-Generation, Closest-Hit, Any-Hit und Miss, sowie ein eigenes Raytracing Pipeline State Object. Die Verarbeitung läuft laut Microsoft auf den vorhandenen Grafik- oder Compute-Engines der GPU, nicht über eine separate Raytracing-Einheit. Mehrfache Strahlreflexionen sind per Rekursion möglich, und an Schnittpunkten erhalten Anwendungen baryzentrische Koordinaten, um die Geometrie flexibel auszuwerten.
Ergänzung zur Rasterisierung, kein Bruch
Microsoft versteht DXR zunächst als Ergänzung zur Rasterisierung und nicht als deren Ablösung. Anfangs soll die Technik bestehende Verfahren wie Screen-Space Reflections stützen, indem sie Daten zu verdeckter oder außerhalb des Bildschirms liegender Geometrie nachliefert. Weitere Einsatzgebiete sind globale Beleuchtung und realistischere Schatten. Die Idee dahinter: Raytracing wandert Stück für Stück in produktive Engines, ohne dass Studios ihren kompletten Rendering-Ansatz umwerfen müssen.
Hardware, Fallback und Werkzeuge
Zum Einstieg läuft DXR nach Angaben des D3D-Teams bereits auf verfügbarer Hardware. Daneben gibt es eine Fallback-Schicht, mit der sich auch ohne spezifische Hardwareunterstützung experimentieren lässt. Konkrete Grafikkarten oder Anbieter nennt der Blogbeitrag nicht. Für die Fehlersuche steht das Werkzeug PIX für Windows von Anfang an mit DXR-Unterstützung bereit. Erste Demos und Zusagen kamen von Epic Games mit der Unreal Engine, von EA mit Frostbite und der Forschungsabteilung SEED, von Unity Technologies, Futuremark mit 3DMark sowie ILMxLAB.