I-RISC-V emulator ngendlela ye-pixel shader ekuvumela ukuba usebenzise i-Linux kwi-VRChat

Iziphumo zovavanyo lokuququzelela ukuqaliswa kweLinux ngaphakathi kwendawo ebonakalayo ye-3D yomdlalo wabadlali abaninzi kwi-intanethi ye-VRChat, evumela ukulayisha iimodeli ze-3D ngeeshadi zazo, zipapashwe. Ukuphumeza ingcamango ekhulelweyo, i-emulator ye-architecture ye-RISC-V yenziwe, iqhutywe kwicala le-GPU ngendlela ye-pixel (iqhekeza) shader (i-VRChat ayixhasi i-shaders computational kunye ne-UAV). Ikhowudi ye-emulator ipapashwa phantsi kwelayisenisi ye-MIT.

I-emulator isekelwe ekuphunyezweni kulwimi lwe-C, ukudalwa kwayo, kusetyenziswa uphuhliso lwe-minimalistic emulator riscv-rust, ephuhliswe ngolwimi lwe-Rust. Ikhowudi ye-C elungiselelwe iguqulelwe kwi-pixel shader kwi-HLSL, ifanelekile ukulayishwa kwi-VRChat. I-emulator inikezela ngenkxaso epheleleyo ye-rv32imasu ye-architecture ye-architecture ye-architecture, iyunithi yokulawula imemori ye-SV32, kunye neseti encinci yeeperipherals (i-UART kunye ne-timer). Izakhono ezilungiselelwe zanele ukulayisha i-Linux kernel 5.13.5 kunye nesiseko se-BusyBox yomyalelo we-busyBox, apho unokusebenzisana ngokuthe ngqo kwi-VRChat yehlabathi ebonakalayo.

I-RISC-V emulator ngendlela ye-pixel shader ekuvumela ukuba usebenzise i-Linux kwi-VRChat
I-RISC-V emulator ngendlela ye-pixel shader ekuvumela ukuba usebenzise i-Linux kwi-VRChat

I-emulator iphunyezwa kwi-shader ngendlela yokwakheka kwayo okuguquguqukayo (Ubumbano Custom Render Texture), incediswa yimibhalo ye-Udon enikezelwe kwi-VRChat, esetyenziselwa ukulawula i-emulator ngexesha lokuphunyezwa kwayo. Imixholo ye-RAM kunye nenkqubo yeprosesa yenkqubo elandelwayo igcinwe ngendlela yokwakheka, i-2048x2048 pixels ngobukhulu. Iprosesa elinganisiweyo isebenza kwi-frequency ye-250 kHz. Ukongeza kwiLinux, i-emulator inokuqhuba iMicropython.

I-RISC-V emulator ngendlela ye-pixel shader ekuvumela ukuba usebenzise i-Linux kwi-VRChat

Ukudala ukugcinwa kwedatha eqhubekayo kunye nenkxaso yokufunda nokubhala, iqhinga kukusebenzisa into yeKhamera ebophelelwe kwindawo yoxande eyenziwa yi-shader kwaye iqondise imveliso yesicatshulwa esinikezelweyo kwigalelo le-shader. Ngale ndlela, nayiphi na ipixel ebhalwe ngexesha lokwenziwa kwe-pixel shader inokufundwa xa isakhelo esilandelayo sisenziwa.

Xa usebenzisa i-pixel shaders, umzekelo we-shader owahlukileyo uqaliswa ngokunxuseneyo kwipikseli nganye yokuthungwa. Olu phawu lunzima kakhulu ukuphunyezwa kwaye lufuna ulungelelwaniso olwahlukileyo lwemeko yenkqubo yonke elinganisiweyo kunye nokuthelekisa indawo yepikseli ecutshungulweyo kunye ne-CPU efakwe kuyo okanye imixholo ye-RAM yenkqubo efanisiweyo (ipixel nganye inokufaka ikhowudi ye-128). amasuntswana olwazi). Ikhowudi ye-shader ifuna ukubandakanywa kwenani elikhulu leetshekhi, ukwenza lula ukuphunyezwa apho i-perl preprocessor perlpp isetyenzisiweyo.



umthombo: opennet.ru

Yongeza izimvo