Rust GPU, joukko työkaluja varjostimien kehittämiseen Rustissa

Pelin kehitysyritys Embark Studios on julkaissut ensimmäisen kokeellisen julkaisun projektin Ruosteinen GPU, jonka tarkoituksena on käyttää ruostetta kehittää GPU-koodi. 

Halu käyttää ruostetta kirjoittaa ohjelmia GPU: lle ei johdu vain turvaominaisuuksista ja korkeasta suorituskyvystä, mutta myös tarve hankkia moderneja työkaluja pakettien ja moduulien kanssa työskentelyyn kehitysprosessin tehokkuuden parantamiseksi.

Rust GPU -kehitysyhtiö Embark Studios käyttää myös Rustia pelimoottorissaan ja pyrkii helpottamaan Rust-koodin vaihtoa suorittimen ja GPU: n välillä.

Heidän mukaansa, historiallisesti peleissä GPU-ohjelmointi on tehty kirjoittamalla HLSL tai vähemmässä määrin GLSL. Nämä ovat yksinkertaisia ​​ohjelmointikieliä, jotka ovat kehittyneet renderointirajapintojen rinnalla vuosien varrella.

Pelimoottoreiden kehittyessä nämä kielet eivät kuitenkaan ole tarjonneet mekanismeja suurten koodipohjien käsittelemiseksi ja yleensä ne ovat jääneet jälkeen muista ohjelmointikielistä.

Vaikka molemmille kielille on yleensä parempia vaihtoehtoja, kumpikaan niistä ei pysty korvaamaan HLSL: ää tai GLSL: ää.

Joko siksi, että palveluntarjoaja on estänyt ne tai koska niitä ei tueta perinteisen grafiikkaputken kanssa. Esimerkkejä tästä ovat CUDA ja OpenCL. Ja vaikka tässä tilassa on yritetty luoda kieltä, kukaan niistä ei ole saanut tuntuvaa pitoa gamedev-yhteisössä.

Rust GPU kehittää edelleen ideoita RLSL-projektista, jossa yritettiin luoda Rust-kääntäjä SPIR-V-yleiseen shader-välituotteeseen, jota ehdotetaan Vulkan-sovellusliittymässä ja tuetaan OpenGL 4.6: ssa.

Rust GPU: n nykyisessä kehitysvaiheessa voit jo käyttää yksinkertaisia ​​graafisia varjostimia ja koota merkittävän osan Rustin perusstandardikirjastosta. Samanaikaisesti projekti ei ole vielä kaukana valmiista laajaan käyttöön, esimerkiksi varjostimet eivät vielä tue silmukoita.

Embarkissa olemme rakentaneet omaa pelimoottoria tyhjästä Rustiin. Meillä on aikaisempaa kokemusta RLSL-prototyypin sisäisestä kehityksestä, ja meillä on joukko erinomaisia ​​renderointi-insinöörejä, jotka tuntevat nykypäivän varjostuskielien ongelmat, sekä peleistä, pelimoottoreista että muilta teollisuudenaloilta. Siksi uskomme, että meillä on ainutlaatuinen asema yrittää ratkaista tämä ongelma.

Haluamme virtaviivaistaa sisäistä kehitystämme yhdellä mahtavalla kielellä, rakentaa avoimen lähdekoodin grafiikkayhteisön ja ekosysteemin, helpottaa koodin jakamista GPU: n ja suorittimen välillä ja mikä tärkeintä - mahdollistaa (tulevat) käyttäjät ja muut kehittäjät on enemmän Luo nopeasti kiinnostavia ja kiinnostavia kokemuksia.

Rust-kielen koodin perusteella muodostetaan SPIR-V-varjostimien esitys, jonka sukupolvelle Rust-kääntäjälle on kehitetty erityinen taustaosa, joka toimii analogisesti esitykseen koottavan nosturin koodigeneraattorin kanssa. WebAss kokoonpano.

Nykyinen lähestymistapa on tukea Vulkan-grafiikkasovellusliittymää ja SPIR-V-näkymiä, mutta generaattorit on suunniteltu DXIL (DirectX) - ja WGSL (WebGPU) -varjostinäkymien tulevaisuuteen. Cargo- ja crates.io-sivujen pohjalta kehitetään työkaluja varjostimien kanssa pakettien kehittämiseksi ja julkaisemiseksi SPIR-V-muodossa.

Lopuksi, jos haluat tietää enemmän tästä projektista, voit tarkistaa yksityiskohdat projektivarastosta, linkki on tämä.

Niiden osalta, jotka ovat kiinnostuneita tuntemaan koodin, heidän tulisi tietää, että koodi on julkaistu MIT- ja Apache 2.0 -lisensseillä ja että se on mahdollista saada alla olevasta linkistä.

Ja he voivat myös tutustua dokumentaatioon, joka on jo kehittäjille kehitetty, jotta he voivat työskennellä Linuxissa, Windowsissa ja Macissa. tutustu tämän linkin oppaaseen.


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

Kommentti, jätä sinun

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Autopilot dijo

    Ruoste lähtee liikkeelle, toivottavasti ei toista "tappavaa Scalaa".