I-RISC-V emulator esesimweni se-pixel shader ekuvumela ukuthi usebenzise i-Linux ku-VRChat

Imiphumela yokuhlolwa kokuhlela ukwethulwa kwe-Linux ngaphakathi kwendawo ebonakalayo ye-3D yomdlalo we-inthanethi wabadlali abaningi i-VRChat, evumela ukulayisha amamodeli e-3D ngamathunzi awo, ishicilelwe. Ukuze kusetshenziswe umbono oqanjiwe, i-emulator yokwakheka kwe-RISC-V yadalwa, yabulawa ohlangothini lwe-GPU ngendlela ye-pixel (fragment) shader (i-VRChat ayisekeli ama-shader wokubala kanye ne-UAV). Ikhodi yokulingisa ishicilelwa ngaphansi kwelayisensi ye-MIT.

I-emulator isuselwe ekusetshenzisweni kolimi C, ukudalwa kwayo, yona, yasebenzisa ukuthuthukiswa kwe-minimalistic emulator riscv-rust, ethuthukiswe ngolimi lwe-Rust. Ikhodi C elungisiwe ihunyushwa ku-pixel shader nge-HLSL, elungele ukulayishwa ku-VRChat. I-emulator ihlinzeka ngokusekela okugcwele kokwakhiwa kwesethi yemiyalelo ye-rv32imasu, iyunithi yokulawula inkumbulo ye-SV32, kanye nesethi encane yama-peripherals (i-UART nesibali sikhathi). Amakhono alungisiwe anele ukulayisha i-Linux kernel 5.13.5 kanye nendawo eyisisekelo yomugqa womyalo we-BusyBox, ongakwazi ukuxhumana ngayo ngokuqondile nezwe elibonakalayo le-VRChat.

I-RISC-V emulator esesimweni se-pixel shader ekuvumela ukuthi usebenzise i-Linux ku-VRChat
I-RISC-V emulator esesimweni se-pixel shader ekuvumela ukuthi usebenzise i-Linux ku-VRChat

I-emulator isetshenziswa ku-shader ngendlela yokuthungwa kwayo okuguquguqukayo (I-Unity Custom Render Texture), yengezwe imibhalo ye-Udon ehlinzekwe i-VRChat, esetshenziselwa ukulawula i-emulator ngesikhathi sokukhishwa kwayo. Okuqukethwe kwe-RAM kanye nesimo sokucubungula sesistimu elingisiwe kugcinwa ngendlela yokuthungwa, amaphikiseli angu-2048x2048 ngosayizi. Iphrosesa elingisayo isebenza ngemvamisa engu-250 kHz. Ngokungeziwe ku-Linux, i-emulator ingasebenzisa i-Micropython.

I-RISC-V emulator esesimweni se-pixel shader ekuvumela ukuthi usebenzise i-Linux ku-VRChat

Ukuze udale isitoreji sedatha esiphikelelayo ngokusekela ukufunda nokubhala, iqhinga ukusebenzisa into Yekhamera eboshwe endaweni engunxande ekhiqizwe i-shader futhi uqondise okukhiphayo kokuthungwa okunikeziwe kokokufaka kwe-shader. Ngale ndlela, noma iyiphi iphikseli ebhalwe ngesikhathi kusetshenziswa i-pixel shader ingafundwa uma uhlaka olulandelayo lucutshungulwa.

Lapho usebenzisa imithunzi ye-pixel, isibonelo esihlukile se-shader sethulwa ngokuhambisana kwephikseli ngayinye yokuthungwa. Lesi sici senza kube nzima kakhulu ukuqaliswa futhi sidinga ukuhlanganiswa okuhlukene kwesimo salo lonke uhlelo olulingisiwe kanye nokuqhathanisa indawo yephikseli ecushiwe nesimo se-CPU esifakwe kuyo noma okuqukethwe kwe-RAM yohlelo olulingiswayo (iphikseli ngayinye ingafaka ikhodi engu-128). izingcezu zolwazi). Ikhodi ye-shader idinga ukufakwa kwenani elikhulu lamasheke, ukwenza lula ukuqaliswa okusetshenziswe i-perl preprocessor perlpp.



Source: opennet.ru

Engeza amazwana