Rust GPU, një grup mjetesh për zhvillimin e hijeve në Rust

Kompania e zhvillimit të lojërave Embark Studios ka lëshuar daljen e parë eksperimentale të projektit GPU i ndryshkur, e cila synon të përdorë gjuhën e Rustit për të zhvilluar kodin GPU. 

Dëshira për të përdorur Rust për të shkruar programe për GPU buron jo vetëm nga tiparet e sigurisë dhe performanca e lartë, por edhe të nevojës për të marrë mjete moderne për të punuar me paketa dhe module për të përmirësuar efikasitetin e procesit të zhvillimit.

Kompania e zhvillimit të GPU-së së Rust, Embark Studios gjithashtu përdor Rust në motorin e saj të lojës dhe po punon për të lehtësuar shkëmbimin e kodit Rust në mes të CPU dhe GPU.

Sipas tyre, historikisht, në lojëra, programimi GPU është bërë duke shkruar HLSL ose, në një masë më të vogël, GLSL. Këto janë gjuhë të thjeshta programimi që kanë evoluar krahas dhënies së API-ve ndër vite.

Sidoqoftë, ndërsa motorët e lojërave kanë evoluar, këto gjuhë nuk kanë siguruar mekanizma për trajtimin e bazave të kodeve të mëdha, dhe në përgjithësi, ata kanë mbetur prapa në krahasim me gjuhët e tjera të programimit.

Ndërsa ka përgjithësisht alternativa më të mira për të dy gjuhët, asnjëri nuk është në gjendje të zëvendësojë HLSL ose GLSL.

Ose sepse ato janë bllokuar nga ofruesi ose sepse nuk mbështeten me tubacionin grafik tradicional. Shembuj të kësaj përfshijnë CUDA dhe OpenCL. Dhe ndërsa janë bërë përpjekje për të krijuar gjuhë në këtë hapësirë, asnjëri prej tyre nuk ka fituar tërheqje të dukshme në komunitetin gamedev.

GPU Rust vazhdon të zhvillojë ide nga projekti RLSL, në të cilën u bë një përpjekje për të krijuar një përpilues Rust në ndërmjetësuesin gjenerues SPIR-V, i cili propozohet në Vulkan API dhe mbështetet në OpenGL 4.6.

Në fazën e tij aktuale të zhvillimit, GPU Rust ju lejon tashmë të ekzekutoni hije grafike të thjeshta dhe të përpiloni një pjesë të konsiderueshme të bibliotekës standarde themelore të Rust. Në të njëjtën kohë, projekti është ende larg përgatitjes për përdorim të gjerë, për shembull sythe nuk janë mbështetur ende nga hijeshuesit.

Në Embark, ne kemi qenë duke ndërtuar motorin tonë të lojërave nga e para në Rust. Ne kemi përvojë paraprake në zhvillimin e brendshëm të prototipit RLSL dhe kemi një ekip inxhinierësh të shkëlqyeshëm të interpretimit të cilët janë të njohur me problemet e gjuhëve të sotme shader, si nga lojërat, motorët e lojërave dhe industri të tjera. Prandaj, ne besojmë se jemi në një pozitë unike që të përpiqemi ta zgjidhim këtë problem.

Ne duam të modernizojmë zhvillimin tonë të brendshëm me një gjuhë të vetme të shkëlqyeshme, të ndërtojmë një bashkësi grafike dhe ekosistem me burim të hapur, të lehtësojmë ndarjen e kodit midis GPU dhe CPU dhe më e rëndësishmja - të mundësojmë përdoruesit tanë (të ardhshëm) dhe bashkëpunëtorët e tjerë zhvillues keni më shumë Krijoni me shpejtësi përvoja tërheqëse dhe tërheqëse.

Bazuar në kodin në gjuhën Rust, formohet një përfaqësim i hijerëve SPIR-V, për gjeneratën e të cilit është zhvilluar një mbështetje e veçantë për përpiluesin Rust, i cili punon në analogji me gjeneratorin e kodit cranelift që përdoret për t'u përpiluar në një përfaqësim WebMbledhja.

Qasja aktuale është të mbështesim pamjet Vulkan Graphics API dhe SPIR-V, por gjeneratorët janë planifikuar për të ardhmen e pamjeve shader të DXIL (DirectX) dhe WGSL (WebGPU). Duke u bazuar në Cargo dhe crates.io, mjetet janë duke u zhvilluar për të zhvilluar dhe botuar paketa me hije në formatin SPIR-V.

Në fund, nëse doni të dini më shumë rreth këtij projekti, mund të kontrolloni detajet në depon e projektit, lidhja është kjo.

Sa për ata që janë të interesuar të jenë në gjendje të dinë kodin, ata duhet të dinë që kodi është botuar nën licencat MIT dhe Apache 2.0 dhe është e mundur ta marrin atë nga lidhja më poshtë.

Dhe ata gjithashtu mund të konsultohen me dokumentacionin, i cili është përgatitur tashmë për zhvilluesit në mënyrë që ata të mund të punojnë në Linux, Windows dhe Mac. konsultohuni me udhëzuesin në këtë link.


Një koment, lëre tuajën

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Autopilot dijo

    Rust ndryshon, shpresojmë që jo një tjetër "Scala vdekjeprurëse".