Raytracing: Offener Standard für mehr Tempo beim Rendern

Verantwortlicher Redakteur:in: Rainer Trummer 3 min Lesedauer

Anbieter zum Thema

Die Khronos Group gibt die vorläufigen Erweiterungen für Vulkan Ray Tracing frei. Damit entsteht ein offener Standard für schnelleres Raytracing.

(Quelle: nortivision/Shutterstock.com)
  • Raytracing ist eine Rendering-Technik für fotorealistische Darstellungen, die simuliert, wie sich Lichtstrahlen schneiden und in der Szene, mit den Materialien und Lichtquellen interagieren.

  • In der Industrie besteht Bedarf an einer wirklich plattform-und herstellerübergreifenden API für die Raytracing-Beschleunigung,

  • Die Khronos Group, ein Industriekonsortium, stellt nun einen solchen offenen Standard für die Technologie vor.

Die Khronos Group, ein offenes Konsortium wichtiger IT-Unternehmen, das fortgeschrittene Interoperabilitätsstandards entwickelt, gibt die Ratifizierung und öffentliche Freigabe der vorläufigen Erweiterungen für Vulkan Ray Tracing bekannt. Damit wird der erste offene, hersteller- und plattformübergreifende Standard der Branche für die Beschleunigung des Raytracing geschaffen.

Die Veröffentlichung von Vulkan Ray Tracing als vorläufige Erweiterungen ermöglicht es der Entwicklergemeinde, Feedback zu geben, bevor die Spezifikationen endgültig festgeschrieben werden. Kommentare und Feedback werden über den Vulkan GitHub Issues Tracker und Khronos Developer Slack gesammelt. Die Entwickler werden auch dazu ermutigt, Kommentare an ihre bevorzugten Hardware-Anbieter weiterzuleiten. Die Spezifikationen sind heute in der Vulkan-Registry verfügbar.

Hardwareunabhängiges und plattformübergreifendes Raytracing

Raytracing ist eine Rendering-Technik, die realistisch simuliert, wie sich Lichtstrahlen schneiden und mit der Szenengeometrie, den Materialien und den Lichtquellen interagieren, um fotorealistische Bilder zu erzeugen. Sie wird häufig für das Rendern von Filmen und anderen Produktionen verwendet und beginnt sich für Echtzeitanwendungen und Spiele zu bewähren. Vulkan Ray Tracing integriert nahtlos ein kohärentes Raytracing-Framework in die Vulkan-API und ermöglicht so eine flexible Verschmelzung von Rasterung und Raytracing-Beschleunigung. Vulkan Ray Tracing ist hardwareunabhängig und kann daher sowohl auf vorhandenen GPUs als auch auf dedizierten Raytracing-Kernen beschleunigt werden, sofern diese verfügbar sind.

"Es gab eine starke Entwicklernachfrage nach einer wirklich plattformübergreifenden API für die Raytracing-Beschleunigung, und jetzt ist Vulkan Ray Tracing hier, um diesen Bedarf der Industrie zu erfüllen", sagte Daniel Koch, leitender Grafiksystem-Software-Ingenieur bei Nvidia und Vorsitzender der Vulkan Ray Tracing Task Sub Group bei Khronos. "Die Gesamtarchitektur von Vulkan Ray Tracing wird den Anwendern der bestehenden proprietären Raytracing-APIs bekannt sein, was eine einfache Portierung von bestehenden Raytrace-Inhalten ermöglicht, aber dieses Framework führt auch neue Funktionen und eine flexible Implementierung ein.

Erweiterungen von Vulkan Ray Tracing

Vulkan Ray Tracing besteht aus einer Reihe von Vulkan-, SPIR-V- und GLSL-Erweiterungen, von denen einige optional sind. Die primäre VK_KHR_ray_tracing-Erweiterung bietet Unterstützung für den Aufbau und die Verwaltung von Beschleunigungsstrukturen, für Raytracing-Shader-Stufen und -Pipelines sowie für Ray-Query-Intrinsics für alle Shader-Stufen. VK_KHR_pipeline_library bietet die Möglichkeit, einen Satz von Shadern zur Verfügung zu stellen, die effizient mit Raytracing-Pipelines verknüpft werden können. VK_KHR_deferred_host_operations ermöglicht intensive Treiberoperationen, einschließlich der Kompilierung von Raytracing-Pipelines oder der Konstruktion von CPU-basierten Beschleunigungsstrukturen, die in anwendungsgesteuerte CPU-Thread-Pools ausgelagert werden können.

Unterstützung für die SPIR-V-Erweiterungen von DXC

Vulkan Ray Tracing Shader sind SPIR-V-Binärdateien, die zwei neue Erweiterungen verwenden. Die SPV_KHR_ray_tracing SPIR-V-Erweiterung bietet Unterstützung für Ray-Tracing-Shader-Stufen und -Anweisungen; SPV_KHR_ray_query bietet Unterstützung für Ray-Abfrage-Shader-Anweisungen. Entwickler können diese Binärdateien in GLSL mit zwei neuen GLSL-Erweiterungen erzeugen, GLSL_EXT_ray_tracing und GLSL_EXT_ray_query, die vom offenen glslang-Compiler unterstützt werden. Die Ingenieure der Khronos-Mitgliedsfirmen, darunter Nvidia, haben auch Unterstützung für die SPIR-V-Erweiterungen von DXC, dem Open-Source-HLSL-Compiler von Microsoft, hinzugefügt, so dass die SPIR-V-Shader von Vulkan Ray Tracing mit minimalen Änderungen in HLSL unter Verwendung der von Microsoft definierten Syntax erstellt werden können.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Aktualisierungen der Treiberversion und der Status der Komponenten des Vulkan-Ökosystems werden auf dem Vulkan Ray Tracing Provisional Release Tracker veröffentlicht. Ein Vulkan SDK, das Unterstützung für Vulkan Ray Tracing umfasst, wird verfügbar, sobald alle notwendigen Ökosystemkomponenten vorgelagert sind; gehen Sie über diesen Link, um die Verfügbarkeit festzustellen.

Bildquelle: nortivision/Shutterstock.com

Eine einleitende Präsentation zum Start von Vulkan Ray Tracing finden Sie hier: https://www.khronos.org/assets/uploads/apis/Vulkan-Ray-Tracing-Launch-Mar20.pdf

Weitere technische Details: https://www.khronos.org/blog/ray-tracing-in-vulkan

Erfahren Sie hier mehr über Virtual-Reality- und Raytracing-Tools für Entwickler.

Lesen Sie auch: "Nanoindentation: Wie maschinelles Lernen die Materialprüfung schärft".