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

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

Želja da se koristi Rust za pisanje programa za GPU ne proizlazi samo iz sigurnosnih karakteristika i visokih performansi, ali i potrebe za nabavkom savremenih alata za rad sa paketima i modulima za poboljšanje efikasnosti razvojnog procesa.

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

Prema njima, povijesno gledano, u igrama se GPU programiranje vršilo pisanjem HLSL-a ili, u manjoj mjeri, GLSL. To su jednostavni programski jezici koji su se razvijali zajedno s API-jem za prikazivanje tijekom godina.

Međutim, kako su motori za igre evoluirali, ovi jezici i općenito nisu osigurali mehanizme za bavljenje velikim bazama kodova zaostali su u odnosu na druge programske jezike.

Iako generalno 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 sa tradicionalnim grafičkim kanalom. Primjeri toga uključuju CUDA i OpenCL. I dok su pokušani da stvore jezik u ovom prostoru, niko od njih nije stekao primetnu snagu u gamedev zajednici.

Rust GPU nastavlja razvijati ideje iz RLSL projekta, u kojem je napravljen pokušaj stvaranja kompajlera Rust-a za SPIR-V generički intermedijar osenčivača, 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ćava 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 shadera.

U Embarku u Rustu izrađujemo vlastiti pokretački sistem od nule. Imamo prethodno iskustvo u internom razvoju RLSL prototipa i imamo tim izvrsnih inženjera renderovanja 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 osnovu koda na jeziku Rust formira se prikaz SPIR-V sjenčila, za čiju je generaciju razvijen poseban pozadinski sistem za kompajler Rust, koji funkcionira po analogiji s generatorom kran-lifta koji se koristi za kompajliranje u prikaz WebAssembly.

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

Konačno, ako želite znati više o ovom projektu, možete provjeriti detalje u spremištu projekata, veza 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 sa linka ispod.

Također mogu pogledati dokumentaciju koja je već pripremljena za programere kako bi mogli raditi na Linuxu, Windowsu i Macu. pogledajte vodič na ovom linku.


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

Komentar, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena.

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   automatski pilot rekao je

    Rust poleti, nadamo se da neće biti još jedna "smrtonosna Scala".