Rust GPU, Rustdagi shaderlarni rivojlantirish uchun vositalar to'plami

O'yinlarni ishlab chiqaruvchi kompaniya Embark Studios birinchi eksperimental versiyasini chiqardi loyihaning Zang GPU, bu Rust tilidan foydalanishni maqsad qilgan GPU kodini ishlab chiqish. 

Rustdan foydalanish istagi GPU uchun dasturlar yozish nafaqat xavfsizlik xususiyatlari va yuqori ko'rsatkichlaridan kelib chiqadi, shuningdek, rivojlanish jarayoni samaradorligini oshirish uchun paketlar va modullar bilan ishlash uchun zamonaviy vositalarni olish zarurligi.

Rust GPU ishlab chiqaruvchi Embark Studios kompaniyasi shuningdek, Rustni o'yin dvigatelida ishlatadi va protsessor va GPU o'rtasida Rust kodini almashtirishni osonlashtirmoqda.

Ularning so'zlariga ko'ra, tarixiy jihatdan o'yinlarda GPU dasturlash HLSL yozish orqali amalga oshirilgan yoki ozroq darajada GLSL. Bu yillar davomida API-lar bilan bir qatorda rivojlanib kelgan sodda dasturlash tillari.

Ammo, o'yin dvigatellari rivojlanib borgan sari, ushbu tillarda katta kod bazalari bilan ishlash mexanizmlari ta'minlanmagan va umuman olganda, ular boshqa dasturlash tillari bilan taqqoslaganda ortda qolishdi.

Odatda ikkala til uchun ham yaxshi alternativalar mavjud bo'lsa-da, ularning hech biri HLSL yoki GLSL o'rnini bosa olmaydi.

Yoki ular provayder tomonidan bloklanganligi sababli yoki ular qo'llab-quvvatlanmagani uchun an'anaviy grafik quvur liniyasi bilan. Bunga CUDA va OpenCL misollari kiradi. Va bu makonda til yaratishga urinishlar qilingan bo'lsa-da, ularning hech biri gamedevlar jamoasida sezilarli kuchga ega emas.

Rust GPU RLSL loyihasi g'oyalarini ishlab chiqishda davom etmoqda, unda Vulkan API-da taklif qilingan va OpenGL 4.6-da qo'llab-quvvatlanadigan SPIR-V umumiy shader qidiruvi uchun Rust kompilyatorini yaratishga urinish qilingan.

Hozirgi rivojlanish bosqichida Rust GPU allaqachon oddiy grafik shaderlarni ishga tushirishga va Rustning asosiy standart kutubxonasining katta qismini tuzishga imkon beradi. Shu bilan birga, loyiha hali ham keng foydalanishga tayyor emas, masalan, ko'chadan hali shaderlar tomonidan qo'llab-quvvatlanmaydi.

Embark-da biz Rustda noldan o'zimizning o'yin dvigatelimizni yaratmoqdamiz. Bizda RLSL prototipini ishlab chiqarishda avvalgi tajribamiz bor va bizda o'yin, o'yin dvigatellari va boshqa sohalardagi bugungi shader tillari muammolari bilan yaxshi tanish bo'lgan juda yaxshi ko'rsatuvchi muhandislar jamoasi mavjud. Shuning uchun, biz ushbu muammoni hal qilishga urinish uchun noyob mavqega ega ekanligimizga ishonamiz.

Biz o'zimizning ichki rivojlanishimizni bitta ajoyib til bilan soddalashtirmoqchimiz, ochiq kodli grafikali hamjamiyat va ekotizimni yaratmoqchimiz, GPU va protsessor o'rtasida kod almashinuvini osonlashtirmoqchimiz, va eng muhimi, bizning (kelajakdagi) foydalanuvchilarimiz va boshqa ishlab chiquvchilarimizga imkon berish. qiziqarli va qiziqarli tajribalarni tezda yarating.

Rust tilidagi kod asosida SPIR-V shaderlarining vakili shakllanadi, uning avlodi uchun Rust kompilyatori uchun maxsus backend ishlab chiqilgan bo'lib, u vakolatxonada kompilyatsiya qilish uchun ishlatiladigan kranelift kod generatoriga o'xshash ishlaydi. Veb-yig'ish.

Hozirgi yondashuv Vulkan Graphics API va SPIR-V ko'rinishini qo'llab-quvvatlashdir, ammo generatorlar kelajakda DXIL (DirectX) va WGSL (WebGPU) shader ko'rinishlari uchun rejalashtirilgan. Cargo va crates.io-ga asoslanib, shayderlar to'plamini SPIR-V formatida ishlab chiqish va nashr etish uchun vositalar ishlab chiqilmoqda.

Va nihoyat, ushbu loyiha haqida ko'proq bilmoqchi bo'lsangiz, loyiha omboridagi tafsilotlarni tekshirishingiz mumkin, havola bu.

Kodni bilishni istaganlarga kelsak, ular kod MIT va Apache 2.0 litsenziyalari ostida nashr etilganligini va uni olish mumkinligini bilishlari kerak. quyidagi havoladan.

Va ular Linux, Windows va Mac-da ishlashi uchun ishlab chiquvchilar uchun allaqachon tayyorlangan hujjatlarga murojaat qilishlari mumkin. ushbu havoladagi ko'rsatmaga murojaat qiling.


Maqolaning mazmuni bizning printsiplarimizga rioya qiladi muharrirlik etikasi. Xato haqida xabar berish uchun bosing bu erda.

Izoh, o'zingiznikini qoldiring

Fikringizni qoldiring

Sizning email manzilingiz chop qilinmaydi.

*

*

  1. Ma'lumotlar uchun javobgardir: Migel Anxel Gaton
  2. Ma'lumotlarning maqsadi: SPAMni boshqarish, izohlarni boshqarish.
  3. Qonuniylashtirish: Sizning roziligingiz
  4. Ma'lumotlar haqida ma'lumot: qonuniy majburiyatlar bundan mustasno, ma'lumotlar uchinchi shaxslarga etkazilmaydi.
  5. Ma'lumotlarni saqlash: Occentus Networks (EU) tomonidan joylashtirilgan ma'lumotlar bazasi
  6. Huquqlar: istalgan vaqtda siz ma'lumotlaringizni cheklashingiz, tiklashingiz va o'chirishingiz mumkin.

  1.   Avtomatik uchuvchi dijo

    Rust uchadi, umid qilamanki, boshqa "halokatli Scala" emas.