RISC-V emulator oo ah qaab shader pixel ah kaas oo kuu ogolaanaya inaad Linux ku maamusho VRChat

Natiijooyinka tijaabada abaabulka bilaabista Linux ee gudaha booska 3D ee ciyaarta khadka tooska ah ee VRChat, kaas oo u oggolaanaya in lagu dhejiyo moodooyinka 3D oo leh hadhkooda, ayaa la daabacay. Si loo hirgeliyo fikradda la fikiray, waxaa la sameeyay kombuyuutar ka mid ah qaab-dhismeedka RISC-V, kaas oo lagu fuliyay dhinaca GPU qaab muuqaal ah pixel (jajab) shader (VRChat ma taageerto hadhka xisaabinta iyo UAV). Koodhka emulatorka waxa lagu daabacay shatiga MIT.

Emulator wuxuu ku salaysan yahay hirgelinta luqadda C, abuurista, taas oo markaa loo isticmaalo horumarinta riscv- miridhku-yar ee emulator-ka ugu yar, oo lagu horumariyo luqadda Rust. Koodhka C ee la diyaariyey waxa loo turjumay shader pixel gudaha HLSL, oo ​​ku habboon in lagu shubo VRChat. emulator-ku waxa uu taageero buuxda siiya rv32imasu tilmaanta qaab-dhismeedka, unugga maaraynta xusuusta ee SV32, iyo xidhmooyinka ugu yar (UART iyo timer). Awoodaha la diyaariyay ayaa ku filan inay ku shubaan kernel Linux 5.13.5 iyo deegaanka khadka taliska ee BusyBox, kaas oo aad si toos ah ula macaamili karto adduunka casriga ah ee VRChat.

RISC-V emulator oo ah qaab shader pixel ah kaas oo kuu ogolaanaya inaad Linux ku maamusho VRChat
RISC-V emulator oo ah qaab shader pixel ah kaas oo kuu ogolaanaya inaad Linux ku maamusho VRChat

emulator-ka waxaa lagu hirgaliyay hadhka qaab muuqaalkiisa firfircoon (Unity Custom Render Texture), oo lagu kabo qoraalada Udon ee loogu talagalay VRChat, oo loo isticmaalo in lagu xakameeyo emulator-ka inta lagu guda jiro fulinta. Waxa ku jira RAM iyo xaaladda processor-ka ee nidaamka ku dayashada waxa lagu kaydiyaa qaab texture, 2048x2048 pixels in size. Processor-ka la isku dayay wuxuu ku shaqeeyaa inta jeer ee 250 kHz. Marka lagu daro Linux, emulator-ku wuxuu kaloo socodsiin karaa Micropython.

RISC-V emulator oo ah qaab shader pixel ah kaas oo kuu ogolaanaya inaad Linux ku maamusho VRChat

Si loo abuuro kayd xog joogto ah oo lagu taageerayo akhriska iyo qorista, khiyaano ayaa ah in la isticmaalo shay kamarad ku xidhan aag leydi ah oo uu soo saaray hadhku oo ku toosiyo wax-soo-saarka qaab-dhismeedka la sameeyay si galinta hadhka. Sidan, pixel kasta oo la qoray inta lagu guda jiro fulinta shader pixel waa la akhriyi karaa marka qaabka soo socda la farsameeyo.

Markaad codsanayso shader pixels, tusaale shader gooni ah ayaa la bilaabay si barbar socda pixel texture kasta. Habkani wuxuu si weyn u adkeynayaa hirgelinta wuxuuna u baahan yahay iskudubarid gaar ah oo ku saabsan xaaladda nidaamka la isku dayay oo dhan iyo isbarbardhigga booska pixel-ka la farsameeyay iyo xaaladda CPU ee ku dhex qoran ama waxa ku jira RAM ee nidaamka ku dayashada ku qor 128-bit oo macluumaad ah). Koodhka hadhka wuxuu u baahan yahay in lagu daro tiro aad u badan oo jeegag ah, si loo fududeeyo hirgelinta kaas oo perl preprocessor perlpp la isticmaalay.



Source: opennet.ru

Add a comment