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.
Rust felszáll, remélhetőleg nem egy újabb "halálos Scala".