Rust GPU, eine Reihe von Tools zur Entwicklung von Shadern in Rust

Die Spieleentwicklungsfirma Embark Studios hat die erste experimentelle Version veröffentlicht Projekt Rost GPU, welches darauf abzielt, die Rust-Sprache zu verwenden GPU-Code zu entwickeln. 

Der Wunsch, Rust zu benutzen Programme für die GPU schreiben ergibt sich nicht nur aus den Sicherheitsmerkmalen und der hohen Leistung, aber auch die Notwendigkeit, moderne Tools für die Arbeit mit Paketen und Modulen zu erhalten, um die Effizienz des Entwicklungsprozesses zu verbessern.

Rust GPU-Entwicklungsfirma Embark Studios verwendet auch Rust in seiner Spiel-Engine und es arbeitet daran, den Austausch von Rust-Code zwischen der CPU und der GPU zu erleichtern.

Nach ihnen, In der Vergangenheit wurde die GPU-Programmierung in Spielen durch Schreiben von HLSL durchgeführt oder in geringerem Maße GLSL. Dies sind einfache Programmiersprachen, die sich im Laufe der Jahre neben dem Rendern von APIs entwickelt haben.

Im Zuge der Entwicklung von Game-Engines haben diese Sprachen jedoch keine Mechanismen für den Umgang mit großen Codebasen bereitgestellt, und im Allgemeinen Sie sind im Vergleich zu anderen Programmiersprachen zurückgeblieben.

Während es im Allgemeinen bessere Alternativen für beide Sprachen gibt, ist keiner in der Lage, HLSL oder GLSL zu ersetzen.

Entweder weil sie vom Anbieter blockiert werden oder weil sie nicht unterstützt werden mit der traditionellen Grafik-Pipeline. Beispiele hierfür sind CUDA und OpenCL. Und obwohl versucht wurde, Sprache in diesem Raum zu schaffen, hat keiner von ihnen in der Gamedev-Community spürbare Anziehungskraft erlangt.

Die Rust GPU entwickelt weiterhin Ideen aus dem RLSL-Projekt, in dem versucht wurde, einen Rust-Compiler für das generische SPIR-V-Shader-Intermediate zu erstellen, das in der Vulkan-API vorgeschlagen und in OpenGL 4.6 unterstützt wird.

Mit der Rust-GPU können Sie bereits in der aktuellen Entwicklungsphase einfache grafische Shader ausführen und einen erheblichen Teil der grundlegenden Standardbibliothek von Rust kompilieren. Gleichzeitig ist das Projekt noch weit davon entfernt, weit verbreitet eingesetzt zu werden. Beispielsweise werden Loops von Shadern noch nicht unterstützt.

Bei Embark haben wir in Rust unsere eigene Spiel-Engine von Grund auf neu entwickelt. Wir haben bereits Erfahrung in der Eigenentwicklung des RLSL-Prototyps und verfügen über ein Team exzellenter Rendering-Ingenieure, die mit den Problemen der heutigen Shader-Sprachen sowohl aus Spielen als auch aus Spiele-Engines und anderen Branchen vertraut sind. Daher glauben wir, dass wir in einer einzigartigen Position sind, um zu versuchen, dieses Problem zu lösen.

Wir möchten unsere eigene interne Entwicklung mit einer einzigen großartigen Sprache optimieren, eine Open-Source-Grafik-Community und ein Open-Source-Ökosystem aufbauen, den Code-Austausch zwischen GPU und CPU erleichtern und vor allem unsere (zukünftigen) Benutzer und Mitentwickler aktivieren Erstellen Sie schnellere, ansprechende und ansprechende Erfahrungen.

Basierend auf dem Code in der Rust-Sprache wird eine Darstellung der SPIR-V-Shader gebildet, für deren Generierung ein spezielles Backend für den Rust-Compiler entwickelt wurde, das analog zum Cranelift-Codegenerator funktioniert, der zum Kompilieren in eine Darstellung verwendet wird WebAssembly.

Der aktuelle Ansatz besteht darin, die Vulkan-Grafik-API- und SPIR-V-Ansichten zu unterstützen. Generatoren sind jedoch für die Zukunft der Shader-Ansichten DXIL (DirectX) und WGSL (WebGPU) geplant. Aufbauend auf Cargo und crates.io werden Tools entwickelt, um Pakete mit Shadern im SPIR-V-Format zu entwickeln und zu veröffentlichen.

Wenn Sie mehr über dieses Projekt erfahren möchten, können Sie die Details im Projekt-Repository überprüfen. Der Link ist dies.

Diejenigen, die daran interessiert sind, den Code zu kennen, sollten wissen, dass der Code unter den MIT- und Apache 2.0-Lizenzen veröffentlicht ist und es möglich ist, ihn zu erhalten über den Link unten.

Sie können auch die Dokumentation konsultieren, die bereits für Entwickler vorbereitet ist, damit sie unter Linux, Windows und Mac arbeiten können. Konsultieren Sie den Leitfaden unter diesem Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Autopilot sagte

    Rust hebt ab, hoffentlich keine weitere "tödliche Scala".