Rust GPU, et sett med verktøy for å utvikle skyggeleggere i Rust

Spillutviklingsselskapet Embark Studios har gitt ut den første eksperimentelle utgivelsen av prosjektet rust GPU, som tar sikte på å bruke Rust-språket for å utvikle GPU-kode. 

Ønsket om å bruke Rust å skrive programmer for GPU stammer ikke bare fra sikkerhetsfunksjonene og høy ytelse, men også av behovet for å skaffe moderne verktøy for å jobbe med pakker og moduler for å forbedre effektiviteten i utviklingsprosessen.

Rust GPU utviklingsselskap Embark Studios bruker også Rust i spillmotoren og det arbeider for å legge til rette for utveksling av rustkode mellom CPU og GPU.

Ifølge dem, historisk i spill har GPU-programmering blitt gjort ved å skrive HLSL eller, i mindre grad, GLSL. Dette er enkle programmeringsspråk som har utviklet seg sammen med gjengivende API-er gjennom årene.

Etter hvert som spillmotorer har utviklet seg, har disse språkene imidlertid ikke gitt mekanismer for å håndtere store kodebaser, og generelt sett de har ligget etter i forhold til andre programmeringsspråk.

Selv om det generelt er bedre alternativer for begge språk, er ingen av dem i stand til å erstatte HLSL eller GLSL.

Enten fordi de er blokkert av leverandøren, eller fordi de ikke støttes med den tradisjonelle grafikkrørledningen. Eksempler på dette inkluderer CUDA og OpenCL. Og mens det er gjort forsøk på å skape språk i dette rommet, har ingen av dem fått merkbar trekkraft i gamedev-samfunnet.

Rust GPU fortsetter å utvikle ideer fra RLSL-prosjektet, der det ble gjort et forsøk på å lage en Rust-kompilator til SPIR-V generiske skyggemellomliggende, som er foreslått i Vulkan API og støttet i OpenGL 4.6.

På sitt nåværende utviklingsstadium lar Rust GPU deg allerede kjøre enkle grafiske skyggeleggere og kompilere en betydelig del av Rusts grunnleggende standardbibliotek. Samtidig er prosjektet fremdeles langt fra klart for utbredt bruk, for eksempel er ikke løkker ennå støttet av skyggeleggere.

Hos Embark har vi bygd vår egen spillmotor fra bunnen av i Rust. Vi har tidligere erfaring med den interne utviklingen av RLSL-prototypen, og vi har et team av ypperlige gjengivelsesingeniører som er kjent med problemene i dagens skyggespråk, både fra spill, spillmotorer og andre bransjer. Derfor tror vi at vi er i en unik posisjon for å prøve å løse dette problemet.

Vi ønsker å strømlinjeforme vår egen interne utvikling med et enkelt flott språk, bygge et open source-grafikkfellesskap og økosystem, legge til rette for kodedeling mellom GPU og CPU, og viktigst av alt, gjøre det mulig for våre (fremtidige) brukere og andre utviklere ha mer raskt Lag engasjerende og engasjerende opplevelser.

Basert på koden på Rust-språket, dannes en representasjon av SPIR-V-skyggelagere, hvis generasjon har utviklet en spesiell backend for Rust-kompilatoren, som fungerer analogt med kranløftkodegeneratoren som ble brukt til å kompilere til en representasjon Webmontering.

Den nåværende tilnærmingen er å støtte Vulkan graphics API og SPIR-V-visninger, men generatorer er planlagt for fremtiden for skyggevisninger fra DXIL (DirectX) og WGSL (WebGPU). Basert på Cargo and crates.io utvikles verktøy for å utvikle og publisere pakker med skyggelister i SPIR-V-format.

Til slutt, hvis du vil vite mer om dette prosjektet, kan du sjekke detaljene i prosjektregisteret, lenken er dette.

Når det gjelder de som er interessert i å kunne koden, bør de vite at koden er publisert under MIT- og Apache 2.0-lisensene, og det er mulig å få den fra lenken under.

Og de kan også konsultere dokumentasjonen, som allerede er utarbeidet for utviklere, slik at de kan jobbe med Linux, Windows og Mac. se guiden på denne lenken.


En kommentar, legg igjen din

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Autopilot sa

    Rust tar av, forhåpentligvis ikke nok en "dødelig Scala".