O se emulator RISC-V i foliga o se pixel shader e mafai ai ona e faʻatautaia Linux i VRChat

O taunuʻuga o se faʻataʻitaʻiga i le faʻatulagaina o le faʻalauiloaina o Linux i totonu o le 3D avanoa o le multiplayer online game VRChat, lea e mafai ai ona faʻapipiʻiina ata 3D ma a latou lava shaders, ua lomia. Ina ia faʻatinoina le manatu faʻavae, na faia ai se emulator o le RISC-V architecture, faʻatinoina i luga o le itu GPU i le tulaga o se pixel (fragment) shader (VRChat e le lagolagoina faʻataʻitaʻiga faʻatusatusa ma UAV). O le emulator code ua lomia i lalo ole laisene MIT.

O le emulator e faʻavae i luga o se faʻatinoga i le gagana C, o le fausiaina lea, i le isi itu, na faʻaaogaina ai le atinaʻeina o le minimalistic emulator riscv-rust, na atiina ae i le gagana Rust. O le C code ua saunia ua faaliliuina i se pixel shader i le HLSL, talafeagai mo le utaina i VRChat. O le emulator e tu'uina atu le lagolago atoatoa mo le rv32imasu fa'atonuga seti fausaga, le SV32 vaega fa'afoega manatua, ma se seti itiiti o peripherals (UART ma le taimi). O gafatia saunia e lava e utaina ai le Linux kernel 5.13.5 ma le BusyBox command line environment, lea e mafai ona e fegalegaleai saʻo mai le VRChat virtual world.

O se emulator RISC-V i foliga o se pixel shader e mafai ai ona e faʻatautaia Linux i VRChat
O se emulator RISC-V i foliga o se pixel shader e mafai ai ona e faʻatautaia Linux i VRChat

O le emulator o loʻo faʻatinoina i totonu o le shader i le tulaga o lona lava anotusi malosi (Unity Custom Render Texture), faʻaopoopoina e Udon tusitusiga na tuʻuina atu mo VRChat, faʻaaogaina e pulea ai le emulator i le taimi o lona faʻatinoga. O mea o loʻo i totonu o le RAM ma le faʻaogaina o le tulaga o le faʻaogaina o le polokalama o loʻo teuina i foliga o se mea, 2048x2048 pixels i le tele. O le fa'ata'ita'iga fa'apolokalame e fa'agaoioia i le taimi ole 250 kHz. I le faaopoopo atu i Linux, e mafai foi e le emulator ona taʻavale Micropython.

O se emulator RISC-V i foliga o se pixel shader e mafai ai ona e faʻatautaia Linux i VRChat

Ina ia faia fa'amaumau fa'amaumauga ma le lagolago mo le faitau ma le tusitusi, o se togafiti o le fa'aogaina lea o se mea Pueata o lo'o fusifusia i se vaega fa'afa'afa'afa e fa'atupuina e le paolo ma fa'asa'o le mea e maua mai i le mea'ai ua tu'uina atu i le mea e fa'aoga ai le paolo. I lenei auala, so'o se pika na tusia i le taimi o le fa'atinoina o le pixel shader e mafai ona faitau pe a fa'agasolo le isi fa'avaa.

Pe'a fa'aogaina pixel shaders, o se fa'ata'ita'iga ese'ese shader e fa'alauiloa fa'atusa mo pika ta'itasi. O lenei tulaga e matua faʻalavelaveina ai le faʻatinoga ma e manaʻomia ai le tuʻufaʻatasia eseʻese o le setete o le faiga faʻataʻitaʻiga atoa ma le faʻatusatusaina o le tulaga o le pika faʻaogaina ma le tulaga o le PPU o loʻo faʻapipiʻiina i totonu poʻo mea o loʻo i totonu o le RAM o le faiga faʻataʻitaʻiga (o pika taʻitasi e mafai ona faʻaogaina 128 vaega o faʻamatalaga). O le code shader e manaʻomia le aofia ai o se numera tele o siaki, e faʻafaigofie ai le faʻatinoga na faʻaaogaina ai le perl preprocessor perlpp.



puna: opennet.ru

Faaopoopo i ai se faamatalaga