Rust GPU, rīku komplekts ēnotāju izstrādei Rust

Spēļu izstrādes uzņēmums Embark Studios ir izlaidusi pirmo eksperimentālo laidienu projekta Rūsas GPU, kuras mērķis ir izmantot Rust valodu izstrādāt GPU kodu. 

Vēlme izmantot Rūsu rakstīt programmas GPU izriet ne tikai no drošības funkcijām un augstas veiktspējas, bet arī nepieciešamība iegūt mūsdienīgus rīkus darbam ar paketēm un moduļiem, lai uzlabotu attīstības procesa efektivitāti.

Rūsas GPU izstrādes uzņēmums Embark Studios savā spēļu motorā izmanto arī Rust un tas strādā, lai atvieglotu Rust koda apmaiņu starp CPU un GPU.

Pēc viņu domām, vēsturiski spēlēs GPU programmēšana tika veikta, rakstot HLSL vai mazākā mērā GLSL. Tās ir vienkāršas programmēšanas valodas, kas gadu gaitā ir attīstījušās līdzās API renderēšanai.

Tomēr, attīstoties spēļu dzinējiem, šīs valodas nav nodrošinājušas mehānismus, kā rīkoties ar lielām kodu bāzēm, un kopumā tie ir atpalikuši salīdzinājumā ar citām programmēšanas valodām.

Lai gan abām valodām parasti ir labākas alternatīvas, neviena no tām nevar aizstāt HLSL vai GLSL.

Vai nu tāpēc, ka pakalpojumu sniedzējs tos bloķē, vai arī tāpēc, ka tie netiek atbalstīti ar tradicionālo grafikas cauruļvadu. Piemēri tam ir CUDA un OpenCL. Un, lai gan šajā telpā ir mēģināts izveidot valodu, neviens no tiem nav ieguvis ievērojamu saķeri gamedevu kopienā.

Rust GPU turpina attīstīt RLSL projekta idejas, kurā tika mēģināts izveidot Rust kompilatoru SPIR-V vispārējam ēnotāja starpniekam, kas tiek piedāvāts Vulkan API un atbalstīts OpenGL 4.6.

Pašreizējā attīstības stadijā Rust GPU jau ļauj palaist vienkāršus grafiskos ēnotājus un apkopot ievērojamu daļu no Rust pamata standarta bibliotēkas. Tajā pašā laikā projekts joprojām nav tālu no plašas izmantošanas, piemēram, ēnotāji vēl neatbalsta cilpas.

Uzņēmumā Embark mēs Rustā esam izveidojuši paši savu spēļu dzinēju. Mums ir iepriekšēja pieredze iekšējā RLSL prototipa izstrādē, un mums ir izcilu renderēšanas inženieru komanda, kas pārzina mūsdienu ēnotāju valodu problēmas gan no spēlēm, spēļu dzinējiem un citām nozarēm. Tāpēc mēs uzskatām, ka esam unikālā stāvoklī, lai mēģinātu atrisināt šo problēmu.

Mēs vēlamies pilnveidot mūsu pašu iekšējo attīstību ar vienu lielisku valodu, izveidot atvērtā koda grafikas kopienu un ekosistēmu, atvieglot koda koplietošanu starp GPU un CPU un pats galvenais - ļaut mūsu (nākotnes) lietotājiem un citiem izstrādātājiem ātri izveidot saistoša un saistoša pieredze.

Pamatojoties uz kodu Rust valodā, tiek izveidots SPIR-V ēnotāju pārstāvis, kuru paaudzei ir izstrādāta īpaša Rust kompilatora aizmugure, kas darbojas pēc analoģijas ar cranelift kodu ģeneratoru, ko izmanto, lai apkopotu reprezentācijas WebAssembly .

Pašreizējā pieeja ir atbalstīt Vulkan grafikas API un SPIR-V skatus, bet DXIL (DirectX) un WGSL (WebGPU) ēnotāju skatu nākotnē ir paredzēti ģeneratori. Pamatojoties uz Cargo un crates.io, tiek izstrādāti rīki, lai izstrādātu un publicētu paketes ar ēnotājiem SPIR-V formātā.

Visbeidzot, ja vēlaties uzzināt vairāk par šo projektu, varat pārbaudīt informāciju projekta repozitorijā, saite ir šī.

Kas attiecas uz tiem, kas vēlas uzzināt kodu, viņiem jāzina, ka kods tiek publicēts ar MIT un Apache 2.0 licencēm un to ir iespējams iegūt no saites zemāk.

Viņi var arī iepazīties ar dokumentāciju, kas jau ir sagatavota izstrādātājiem, lai viņi varētu strādāt ar Linux, Windows un Mac. skatiet ceļvedi šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   autopilots teica

    Rūsa paceļas, cerams, ka tā nav kārtējā "nāvīgā Skala".