Rust GPU, egy eszközkészlet a shaderek fejlesztéséhez Rust-ban

A játékfejlesztő cég Az Embark Studios kiadta az első kísérleti kiadást a projektről Rozsdás GPU, amelynek célja a Rust nyelv használata a GPU-kód fejlesztésére. 

A Rust használatának vágya programokat írni a GPU-hoz nemcsak a biztonsági funkciókból és a nagy teljesítményből fakad, hanem azt is, hogy korszerű eszközöket kell beszerezni a csomagokkal és modulokkal való együttműködéshez a fejlesztési folyamat hatékonyságának javítása érdekében.

Rust GPU fejlesztő cég, az Embark Studios játékmotorjában a Rustot is használja és azon dolgozik, hogy megkönnyítse a Rust kód cseréjét a CPU és a GPU között.

Szerintük, történelmileg a játékokban a GPU programozása a HLSL megírásával történt vagy kisebb mértékben a GLSL. Ezek egyszerű programozási nyelvek, amelyek az API-k renderelésével párhuzamosan fejlődtek az évek során.

A játékmotorok fejlődésével azonban ezek a nyelvek nem nyújtottak mechanizmust a nagy kódbázisok kezelésére, és általában elmaradtak a többi programozási nyelvhez képest.

Míg általában jobb alternatívák vannak mindkét nyelv számára, egyikük sem képes a HLSL vagy a GLSL helyettesítésére.

Vagy azért, mert a szolgáltató blokkolja őket, vagy azért, mert nem támogatják őket a hagyományos grafikus csővezetékkel. Ilyen például a CUDA és az OpenCL. És bár megpróbáltak nyelvet létrehozni ezen a téren, egyikük sem kapott észrevehető tapadást a gamedev közösségben.

A Rust GPU tovább fejleszti az RLSL projekt ötleteit, amelyben megkíséreltek egy Rust fordítót létrehozni a SPIR-V általános árnyékoló közbenső termékhez, amelyet a Vulkan API javasol és az OpenGL 4.6 támogat.

Jelenlegi fejlesztési szakaszában a Rust GPU már lehetővé teszi egyszerű grafikus árnyékolók futtatását és a Rust alapvető szabványos könyvtárának jelentős részének összeállítását. Ugyanakkor a projekt még mindig nem áll készen a széleskörű használatra, például az árnyékolók még nem támogatják a hurkokat.

Az Embarknál a saját játékmotorunkat a semmiből építettük a Rustban. Korábbi tapasztalatunk van az RLSL prototípus házon belüli fejlesztésében, és kiváló renderelő mérnökökből álló csapatunk rendelkezik, akik ismerik a mai árnyékoló nyelvek problémáit, mind a játékok, mind a játékmotorok és más iparágak területén. Ezért úgy gondoljuk, hogy egyedülálló helyzetben vagyunk, hogy megpróbáljuk megoldani ezt a problémát.

Egyetlen nagyszerű nyelvvel szeretnénk ésszerűsíteni saját házon belüli fejlesztéseinket, felépíteni egy nyílt forráskódú grafikus közösséget és ökoszisztémát, megkönnyíteni a kódmegosztást a GPU és a CPU között, és ami a legfontosabb - lehetővé kell tenni (jövőbeni) felhasználóink ​​és más fejlesztőink számára több Gyorsan hozzon létre vonzó és vonzó élményeket.

A Rust nyelvű kód alapján a SPIR-V árnyékolók reprezentációja képződik, amelyek generálásához egy speciális háttérprogramot fejlesztettek ki a Rust fordító számára, amely analóg módon működik a reprezentációba fordításhoz használt cranelift kódgenerátorral. WebAssembly.

A jelenlegi megközelítés a Vulkan graphics API és a SPIR-V nézetek támogatása, de a generátorokat a DXIL (DirectX) és a WGSL (WebGPU) shader nézetek jövőjére tervezik. A Cargo és a crates.io-ra építve eszközöket fejlesztenek az árnyékolókkal ellátott csomagok SPIR-V formátumban történő fejlesztésére és közzétételére.

Végül, ha többet szeretne megtudni erről a projektről, ellenőrizheti a részleteket a projekt tárházában, a link ez.

Ami pedig érdekli a kód megismerését, tudnia kell, hogy a kódot az MIT és az Apache 2.0 licencek alatt teszik közzé, és meg lehet szerezni az alábbi linkről.

És áttekinthetik a fejlesztők számára már elkészített dokumentációt is, hogy Linuxon, Windowson és Macen is működhessenek. olvassa el az útmutatót ezen a linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Robotpilóta dijo

    Rust felszáll, remélhetőleg nem egy újabb "halálos Scala".