Rust GPU, набор от инструменти за разработване на шейдъри в Rust

Компанията за разработка на игри Embark Studios пусна първата експериментална версия на проекта ръждясал графичен процесор, който има за цел да използва езика Rust за разработване на GPU код. 

Желанието да се използва Ръжда да пише програми за GPU произтича не само от характеристиките за безопасност и високата производителност, но и от необходимостта от получаване на съвременни инструменти за работа с пакети и модули за подобряване на ефективността на процеса на разработка.

Компанията за разработка на Rust GPU Embark Studios също използва Rust в играта си и работи за улесняване на обмена на Rust код между CPU и GPU.

Според тях, исторически, в игрите, GPU програмирането се извършва чрез писане на HLSL или, в по-малка степен, GLSL. Това са прости езици за програмиране, които се развиват заедно с API за визуализиране през годините.

Въпреки това, тъй като двигателите на играта са се развили, тези езици не са осигурили механизми за работа с големи кодови бази и като цяло, те изостават в сравнение с други езици за програмиране.

Въпреки че обикновено има по-добри алтернативи и за двата езика, нито един от тях не е в състояние да замени HLSL или GLSL.

Или защото са блокирани от доставчика, или защото не се поддържат с традиционния графичен конвейер. Примери за това включват CUDA и OpenCL. И докато са правени опити за създаване на език в това пространство, никой от тях не е придобил забележима сила в общността на gamedev.

Rust GPU продължава да развива идеи от проекта RLSL, в който е направен опит да се създаде компилатор Rust към междинния междинен шейдер SPIR-V, който е предложен в API на Vulkan и поддържан в OpenGL 4.6.

На сегашния си етап на разработка, Rust GPU вече ви позволява да стартирате прости графични шейдъри и да компилирате значителна част от основната стандартна библиотека на Rust. В същото време проектът все още не е готов за широко използване, например циклите все още не се поддържат от шейдърите.

В Embark изграждаме собствен механизъм за игра от нулата в Rust. Ние имаме предишен опит във вътрешното разработване на прототипа RLSL и разполагаме с екип от отлични инженери за рендериране, които са запознати с проблемите на днешните шейдър езици, както от игри, игрални машини, така и от други индустрии. Затова ние вярваме, че сме в уникална позиция да се опитаме да разрешим този проблем.

Искаме да рационализираме собственото си вътрешно развитие с един чудесен език, да изградим графична общност с отворен код и екосистема, да улесним споделянето на код между GPU и CPU и най-важното - да дадем възможност на нашите (бъдещи) потребители и колеги разработчици имат повече Бързо създавайте увлекателни и увлекателни преживявания

Въз основа на кода на езика Rust се формира представяне на шейдърите SPIR-V, за чието генериране е разработен специален бекенд за компилатора Rust, който работи по аналогия с генератора на код на cranelift, използван за компилиране в представяне WebAssembly.

Настоящият подход е да поддържа Vulkan графичен API и SPIR-V изгледи, но генераторите са планирани за бъдещето на DXIL (DirectX) и WGSL (WebGPU) шейдър изгледи. Въз основа на Cargo и crates.io се разработват инструменти за разработване и публикуване на пакети с шейдъри във формат SPIR-V.

И накрая, ако искате да научите повече за този проект, можете да проверите подробностите в хранилището на проекта, връзката е тази.

Що се отнася до тези, които се интересуват от възможността да знаят кода, те трябва да знаят, че кодът е публикуван под лицензите MIT и Apache 2.0 и е възможно да го получат от линка по-долу.

И те също могат да се консултират с документацията, която вече е подготвена за разработчици, за да могат да работят на Linux, Windows и Mac. консултирайте се с ръководството на тази връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Автопилот каза той

    Ръждата излита, надявам се, не поредната „смъртоносна Скала“.