Rust GPU, skup alata za razvoj sjenčanja u Rustu

Tvrtka za razvoj igara Embark Studios objavio je prvo eksperimentalno izdanje projekta hrđa GPU, kojem je cilj upotreba jezika Rust za razvoj GPU koda. 

Želja da se koristi Rust za pisanje programa za GPU proizlazi ne samo iz sigurnosnih značajki i visokih performansi, ali i potrebe za dobivanjem suvremenih alata za rad s paketima i modulima za poboljšanje učinkovitosti razvojnog procesa.

Rust GPU razvojna tvrtka Embark Studios također koristi Rust u svom mehanizmu igre i radi na olakšavanju razmjene Rust koda između CPU-a i GPU-a.

Prema njima, u povijesti se GPU programiranje radilo pisanjem HLSL-a ili, u manjoj mjeri, GLSL. To su jednostavni programski jezici koji su se tijekom godina razvijali zajedno s API-jem za prikazivanje.

Međutim, kako su evolucijski mehanizmi evoluirali, ti jezici, općenito, nisu osigurali mehanizme za bavljenje velikim bazama koda zaostali su u odnosu na druge programske jezike.

Iako općenito postoje bolje alternative za oba jezika, nijedan od njih nije u mogućnosti zamijeniti HLSL ili GLSL.

Bilo zato što ih je davatelj usluga blokirao ili zato što nisu podržani s tradicionalnim grafičkim cjevovodom. Primjeri toga uključuju CUDA i OpenCL. I dok su pokušani stvoriti jezik u ovom prostoru, nitko od njih nije stekao primjetnu snagu u gamedevskoj zajednici.

Rust GPU nastavlja razvijati ideje iz RLSL projekta, u kojem se pokušao stvoriti kompajler Rust-a za SPIR-V generički intermedijar sjenčanja, koji je predložen u Vulkan API-u i podržan u OpenGL 4.6.

U svojoj trenutnoj fazi razvoja, Rust GPU već vam omogućuje pokretanje jednostavnih grafičkih sjenčanja i kompajliranje značajnog dijela Rustove osnovne standardne biblioteke. Istodobno, projekt još uvijek nije spreman za široku upotrebu, na primjer, petlje još nisu podržane od strane sjenčića.

U Embarku u Rustu izrađujemo vlastiti motor za igru ​​od nule. Imamo prethodno iskustvo u internom razvoju RLSL prototipa i imamo tim izvrsnih inženjera renderiranja koji su upoznati s problemima današnjih shader jezika, kako iz igara, tako i iz igara i iz drugih industrija. Stoga vjerujemo da smo u jedinstvenoj poziciji da pokušamo riješiti ovaj problem.

Želimo pojednostaviti vlastiti vlastiti razvoj jednim jedinstvenim jezikom, izgraditi grafičku zajednicu i ekosustav otvorenog koda, olakšati dijeljenje koda između GPU-a i CPU-a, i što je najvažnije, omogućiti našim (budućim) korisnicima i kolegama programerima imaju više Brzo stvorite zanimljiva i zanimljiva iskustva.

Na temelju koda na jeziku Rust formira se prikaz SPIR-V sjenera, za čiju je generaciju razvijen poseban pozadinski program za kompajler Rust, koji djeluje analogno generatoru kranlift koda koji se koristi za kompajliranje u prikaz. WebSastavljanje.

Trenutni pristup je podržati Vulkan grafički API i SPIR-V poglede, ali generatori su planirani za budućnost DXIL (DirectX) i WGSL (WebGPU) prikaza sjene. Nadovezujući se na Cargo i crates.io, razvijaju se alati za razvoj i objavljivanje paketa sa sjenčanicima u SPIR-V formatu.

Napokon, ako želite znati više o ovom projektu, možete provjeriti detalje u spremištu projekata, poveznica je ovo.

Što se tiče onih koje zanima mogućnost da znaju kôd, trebali bi znati da je kôd objavljen pod licencama MIT i Apache 2.0 i da ga je moguće dobiti s donje poveznice.

Također mogu pregledati dokumentaciju koja je već pripremljena za programere kako bi mogli raditi na Linuxu, Windowsu i Macu. konzultirajte se s vodičem na ovoj poveznici.


Komentar, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   automatski pilot dijo

    Rust poleti, nadamo se ne još jedna "smrtonosna Scala".