Das Khronos-Konsortium hat die Entwicklung des offenen Shader-Compilers Slang übernommen.

Das NVIDIA-Unternehmen hat die Shading-Sprache Slang und den zugehörigen Compiler unter die Schirmherrschaft des Khronos-Konsortiums übergeben, das für die Entwicklung grafischer Standards verantwortlich ist. Es wird erwartet, dass die Entwicklung des Slang-Projekts auf der unabhängigen Plattform von Khronos neue Teilnehmer anziehen wird. Die Sprache wurde als gemeinsames Projekt von NVIDIA und führenden US-Universitäten (Carnegie Mellon University, Stanford University, Massachusetts Institute of Technology, University of California, San Diego und University of Washington) geschaffen. Die Unterstützung des neuen Gemeinschaftsprojekts haben die Unternehmen Autodesk, Adobe, id Software, Igalia und Valve zugesichert. Der Compiler-Code ist in C++ geschrieben und unter der Apache 2.0-Lizenz offen zugänglich. Der Compiler unterstützt die Plattformen Linux, Windows, macOS und WebAssembly.

Die Slang-Sprache ist in ihrer Syntax sehr nah an der von HLSL, die in Direct3D verwendet wird, und zeichnet sich durch die Unterstützung von Modulen, Generika und Interfaces aus, um die Wartung und Entwicklung großer Codebasen zu erleichtern. Außerdem zielt sie darauf ab, maximale Leistung zu erreichen und in Anwendungen eingesetzt zu werden, die Echtzeit-Rendering durchführen. Zu den zusätzlichen Möglichkeiten zählen die Unterstützung von Erweiterungen für den Einsatz von grafischen Shadern zur Durchführung von Berechnungen im Zusammenhang mit maschinellem Lernen und automatischer Differenzierung.

Der Compiler entwickelt sich gemäß dem Paradigma „einmal Shader geschrieben, überall ausführen“ und ermöglicht es, Shader, die in Slang, HLSL (High-Level Shader Language) und GLSL (OpenGL Shading Language) geschrieben sind, in eine Darstellung für die Grafik-APIs Direct3D 11/12, Vulkan, Metal, OpenGL, WebGPU, OptiX und CUDA sowie in Maschinencode umzuwandeln, der auf einem gängigen CPU ausgeführt werden kann. Neben der Kompilierung von Shadern in ein binäres Format ermöglicht Slang auch die Generierung von ausführbarem Quellcode in C++, MSL (Metal Shading Language) und CUDA, der die ursprünglichen Bezeichner und die Struktur der Aufrufe beibehält.

Neben der Sprache Slang kann der Compiler verwendet werden, um den Großteil des bereits bestehenden Codes in HLSL ohne Änderungen oder nur mit minimalen Anpassungen zu kompilieren (zum Beispiel konnte das Unternehmen Valve alle HLSL-Shader aus dem Spiel Source 2 in Slang kompilieren, indem lediglich 10 Codezeilen geändert wurden). Für die Kompilierung von GLSL steht ein separates Modul zur Verfügung, das die meisten internen Funktionen und syntaktischen Elemente von GLSL unterstützt. Bei der Kompilierung können die Parameter des generierten Codes angepasst werden, sodass sowohl maximal tragbarer Code als auch Code, der neue Funktionen aus den aktuellen Spezifikationen von Direct3D und Vulkan nutzt, erstellt werden kann.

Zusätzlich wurde die neue Version Slang 2024.14.5 vorgestellt, die Funktionen wie einen neuen Typ Atomic<T> für atomare Operationen, den Ausdruck „where“, die Schnittstelle IFunc für das Schreiben von generischen Funktionen, Tuple-Typen zur Speicherung von Sammlungen von Werten mit verschiedenen Typen, generische Typen mit variabler Parameteranzahl, Unicode-Unterstützung sowie Backends für die Shader-Sprachen Metal und WGSL (verwendet in WebGPU) beinhaltet. Eine in Slang geschriebene Implementierung eines Rasterizers, der die 3D-Rendering-Technik Gaussian Splatting unterstützt, wurde vorgestellt. Eine Online-Umgebung für Experimente und Kompilierung aus dem Browser wurde vorbereitet.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster