Yon Emulation RISC-V nan fòm yon shader pixel ki pèmèt ou kouri Linux nan VRChat.

Rezilta yo nan yon eksperyans sou òganize lansman Linux andedan espas vityèl 3D nan jwèt la multijoueurs sou entènèt VRChat, ki pèmèt chaje modèl 3D ak pwòp shaders yo, yo te pibliye. Pou aplike lide a vin ansent, yo te kreye yon Emulation nan achitekti RISC-V, egzekite sou bò GPU nan fòm lan nan yon pixel (fragman) shader (VRChat pa sipòte enfòmatik shaders ak UAV). Kòd emulatè a pibliye anba lisans MIT.

Emulation a baze sou yon aplikasyon nan lang C, kreyasyon an ki, nan vire, te itilize devlopman yo nan Emulation minimalist la riscv-rouye, devlope nan lang nan Rust. Kòd C prepare a tradui nan yon shader pixel nan HLSL, apwopriye pou chaje nan VRChat. Emulateur a bay sipò konplè pou achitekti seri enstriksyon rv32imasu, inite jesyon memwa SV32, ak yon seri minim periferik (UART ak revèy). Kapasite yo prepare yo ase pou chaje nwayo Linux 5.13.5 ak anviwònman liy kòmand BusyBox debaz, ak ki ou ka kominike dirèkteman nan mond vityèl VRChat la.

Yon Emulation RISC-V nan fòm yon shader pixel ki pèmèt ou kouri Linux nan VRChat.
Yon Emulation RISC-V nan fòm yon shader pixel ki pèmèt ou kouri Linux nan VRChat.

Se Emulation a aplike nan lonbraj la nan fòm lan nan pwòp teksti dinamik li yo (Inite Custom Render Texture), complétée pa Scripts Udon bay pou VRChat, yo itilize kontwole Emulation la pandan ekzekisyon li yo. Sa ki nan RAM la ak eta a processeur nan sistèm nan imite yo estoke nan fòm lan nan yon teksti, 2048x2048 piksèl nan gwosè. Pwosesis la emulation opere nan yon frekans nan 250 kHz. Anplis Linux, Emulation a kapab tou kouri Micropython.

Yon Emulation RISC-V nan fòm yon shader pixel ki pèmèt ou kouri Linux nan VRChat.

Pou kreye depo done ki pèsistan ak sipò pou lekti ak ekriti, yon Trick se sèvi ak yon objè Kamera mare nan yon zòn rektangilè ki te pwodwi pa shader la epi dirije pwodiksyon an nan teksti an rann nan opinyon lonbraj la. Nan fason sa a, nenpòt pixel ekri pandan ekzekisyon pixel shader ka li lè pwochen ankadreman an trete.

Lè w ap aplike shaders pixel, yon egzanp shader separe lanse an paralèl pou chak pixel teksti. Karakteristik sa a siyifikativman konplike aplikasyon an epi li mande kowòdinasyon separe nan eta a nan tout sistèm nan emulation ak konparezon nan pozisyon nan pixel nan trete ak eta a nan CPU a kode nan li oswa sa ki nan RAM la nan sistèm nan emulation (chak pixel ka kode 128 ti enfòmasyon). Kòd shader la mande pou enkli yon gwo kantite chèk, pou senplifye aplikasyon ki te itilize perl preprocessor perlpp la.



Sous: opennet.ru

Add nouvo kòmantè