Rust GPU, un conjunt d'eines per desenvolupar ombrejadors a Rust

L'empresa de desenvolupament de jocs Embark Studios ha publicat el primer llançament experimental del projecte Rust GPU, que té com a objectiu utilitzar el llenguatge Rust per desenvolupar codi GPU. 

El desig d'usar Rust per escriure programes per GPU es deriva no només de les característiques de seguretat i l'alt rendiment, sinó també de la necessitat d'obtenir eines modernes per treballar amb paquets i mòduls per millorar l'eficiència de l'procés de desenvolupament.

L'empresa de desenvolupament de Rust GPU Embark Studios també utilitza Rust al motor de joc i està treballant per facilitar l'intercanvi de codi Rust entre la CPU i la GPU.

Segons ells, històricament, en els jocs, la programació de GPU s'ha realitzat escrivint HLSL o, en menor mesura, GLSL. Aquests són llenguatges de programació simples que han evolucionat juntament amb les API de renderitzat al llarg dels anys.

No obstant això, a mesura que els motors de jocs han evolucionat, aquests llenguatges no han proporcionat mecanismes per tractar amb grans bases de codi i, en general, s'han mantingut endarrerits en comparació amb altres llenguatges de programació.

Si bé existeixen en general millors alternatives per a tots dos llenguatges, cap d'ells està en condicions de reemplaçar HLSL o GLSL.

Ja sigui perquè estan bloquejats pel proveïdor o perquè no són compatibles amb la canalització de gràfics tradicional. Exemples d'això inclouen CUDA i OpenCL. I encara que s'han fet intents per crear llenguatge en aquest espai, cap d'ells ha guanyat una tracció notable en la comunitat de GameDev.

Rust GPU continua desenvolupant idees a partir de el projecte RLSL, En el qual es va intentar crear un compilador de Rust a l'intermedi d'ombrejat genèric SPIR-V, que es proposa en l'API de Vulkan i s'admet en OpenGL 4.6.

En la seva etapa actual de desenvolupament, la GPU Rust ja li permet executar ombrejadors gràfics simples i compilar una part significativa de la biblioteca estàndard bàsica de Rust. A el mateix temps, el projecte encara està lluny d'estar llest per a un ús generalitzat, per exemple, els bucles encara no són compatibles amb els ombrejadors.

En Embark, hem estat construint el nostre propi motor de joc des de zero a Rust. Tenim experiència prèvia en el desenvolupament intern de l'prototip RLSL i comptem amb un equip d'excel·lents enginyers de renderitzat que estan familiaritzats amb els problemes dels llenguatges de ombrejat actuals, tant de jocs, motors de jocs i altres indústries. Per tant, creiem que estem en una posició única per intentar resoldre aquest problema.

Volem optimitzar el nostre propi desenvolupament intern amb un únic gran llenguatge, construir una comunitat i un ecosistema de gràfics de codi obert, facilitar l'ús compartit de codi entre GPU i CPU i, el més important: permetre que els nostres (futurs) usuaris i companys desenvolupadors tinguin més Creu ràpidament experiències atractives i atractives.

Basat en el codi en el llenguatge Rust, es forma una representació dels ombrejadors SPIR-V, per a la generació s'ha desenvolupat un backend especial per al compilador Rust, que funciona per analogia amb el generador de codi cranelift utilitzat per compilar en una representació WebAssembly.

L'enfocament actual és admetre l'API de gràfics Vulkan i les vistes SPIR-V, però es planegen generadors per al futur de les vistes d'ombrejat DXIL (DirectX) i WGSL (WebGPU). Sobre la base de Càrrec i crates.io, s'estan desenvolupant eines per desenvolupar i publicar paquets amb shaders en format SPIR-V.

Finalment si vols conèixer més a l'respecte sobre aquest projecte, podeu consular els detalls en el repositori de el projecte, l'enllaç és aquest.

Quant als que estiguin interessats en poder conèixer el codi, han de saber que el codi es publica sota les llicències MIT i Apache 2.0 i és possible obtenir- des del següent enllaç.

I que a més poden consultar la documentació, la qual ja està preparada per a desenvolupadors perquè puguin treballar tant en Linux, Windows i Mac. Poden consultar la guia en aquest enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Pilot automàtic va dir

    Rust s'enlaira, esperem que no sigui un altre «mortal Scala».