Rust GPU, et sæt værktøjer til udvikling af shaders i Rust

Spiludviklingsfirmaet Embark Studios har udgivet den første eksperimentelle udgivelse af projektet rust GPU, som sigter mod at bruge Rust-sproget at udvikle GPU-kode. 

Ønsket om at bruge Rust at skrive programmer til GPU stammer ikke kun fra sikkerhedsfunktioner og høj ydeevne, men også af behovet for at skaffe moderne værktøjer til at arbejde med pakker og moduler for at forbedre effektiviteten af ​​udviklingsprocessen.

Rust GPU-udviklingsselskab Embark Studios bruger også Rust i sin spilmotor og arbejder på at lette udvekslingen af ​​rustkode mellem CPU'en og GPU'en.

Ifølge dem, historisk set, i spil, er GPU-programmering blevet udført ved at skrive HLSL eller i mindre grad GLSL. Dette er enkle programmeringssprog, der har udviklet sig sammen med gengivelse af API'er gennem årene.

Men som spilmotorer har udviklet sig, har disse sprog ikke tilvejebragt mekanismer til håndtering af store kodebaser og generelt de er bagud i forhold til andre programmeringssprog.

Mens der generelt er bedre alternativer til begge sprog, er ingen af ​​dem i stand til at erstatte HLSL eller GLSL.

Enten fordi de er blokeret af udbyderen, eller fordi de ikke understøttes med den traditionelle grafiske pipeline. Eksempler på dette inkluderer CUDA og OpenCL. Og mens der er gjort forsøg på at skabe sprog i dette rum, har ingen af ​​dem fået mærkbar trækkraft i gamedev-samfundet.

Rust GPU fortsætter med at udvikle ideer fra RLSL-projektet, hvori der blev forsøgt at oprette en Rust-kompilator til SPIR-V generiske shader-mellemprodukt, hvilket er foreslået i Vulkan API og understøttet i OpenGL 4.6.

På det nuværende udviklingsstadium giver Rust GPU dig allerede mulighed for at køre enkle grafiske shaders og kompilere en betydelig del af Rusts grundlæggende standardbibliotek. Samtidig er projektet stadig langt fra klar til udbredt brug, for eksempel er sløjfer endnu ikke understøttet af shaders.

Hos Embark har vi bygget vores egen spilmotor fra bunden i Rust. Vi har tidligere erfaring med den interne udvikling af RLSL-prototypen, og vi har et team af fremragende gengivelsesingeniører, der er fortrolige med problemerne i nutidens skyggesprog, både fra spil, spilmotorer og andre industrier. Derfor mener vi, at vi er i en unik position til at forsøge at løse dette problem.

Vi vil strømline vores egen interne udvikling med et enkelt stort sprog, opbygge et open source-grafikfællesskab og økosystem, lette kodedeling mellem GPU og CPU og vigtigst af alt - gøre det muligt for vores (fremtidige) brugere og andre udviklere få mere hurtigt Opret engagerende og engagerende oplevelser.

Baseret på koden på Rust-sproget dannes der en repræsentation af SPIR-V-shaders, hvis generation er udviklet en særlig backend til Rust-kompilatoren, der fungerer analogt med kranløftkodegeneratoren, der bruges til at kompilere til en repræsentation WebAssembly .

Den nuværende tilgang er at understøtte Vulkan grafik API og SPIR-V visninger, men generatorer er planlagt til fremtiden for DXIL (DirectX) og WGSL (WebGPU) skyggevisninger. Baseret på Cargo og crates.io udvikles værktøjer til at udvikle og udgive pakker med shaders i SPIR-V-format.

Endelig, hvis du vil vide mere om dette projekt, kan du kontrollere detaljerne i projektets arkiv, linket er dette.

Hvad angår dem, der er interesseret i at være i stand til at kende koden, skal de vide, at koden er offentliggjort under MIT- og Apache 2.0-licenserne, og det er muligt at få den fra nedenstående link.

Og de kan også se dokumentationen, som allerede er forberedt til udviklere, så de kan arbejde på Linux, Windows og Mac. se guiden på dette link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Autopilot sagde han

    Rust tager fart, forhåbentlig ikke endnu en "dødbringende Scala."