Emulator RISC-V amin'ny endrika shader pixel izay ahafahanao mampandeha Linux amin'ny VRChat

Navoaka ny valin'ny fanandramana amin'ny fikarakarana ny fandefasana Linux ao anatin'ny habaka virtoaly 3D an'ny lalao an-tserasera Multiplayer VRChat, izay mamela ny fametahana modely 3D miaraka amin'ny shaders azy manokana. Mba hampiharana ny hevitra noforonina dia noforonina ny emulator amin'ny maritrano RISC-V, natao tamin'ny lafiny GPU amin'ny endrika shader pixel (fragmente) (VRChat dia tsy manohana shaders computational sy UAV). Ny kaody emulator dia navoaka eo ambanin'ny lisansa MIT.

Ny emulator dia mifototra amin'ny fampiharana amin'ny fiteny C, ny famoronana izay, kosa, dia nampiasa ny fivoaran'ny minimalistic emulator riscv-rust, novolavolaina tamin'ny fiteny Rust. Ny kaody C efa nomanina dia nadika amin'ny shader piksel amin'ny HLSL, mety amin'ny fampidirana ao amin'ny VRChat. Ny emulator dia manome fanohanana feno ho an'ny rafi-pandrefesana rv32imasu, ny rafitra fitantanana fahatsiarovana SV32, ary ny periferika kely indrindra (UART sy timer). Ny fahaiza-manao voaomana dia ampy hampidirana ny kernel Linux 5.13.5 sy ny tontolo manodidina ny baikon'ny BusyBox fototra, izay ahafahanao mifandray mivantana avy amin'ny tontolo virtoaly VRChat.

Emulator RISC-V amin'ny endrika shader pixel izay ahafahanao mampandeha Linux amin'ny VRChat
Emulator RISC-V amin'ny endrika shader pixel izay ahafahanao mampandeha Linux amin'ny VRChat

Ny emulator dia ampiharina ao amin'ny shader amin'ny endriky ny firafiny mavitrika (Unity Custom Render Texture), ampian'ny script Udon nomena ho an'ny VRChat, ampiasaina hifehy ny emulator mandritra ny famonoana azy. Ny votoatin'ny RAM sy ny toetran'ny processeur amin'ny rafitra emulated dia voatahiry amin'ny endrika texture, 2048x2048 pixels. Ny processeur emulated dia miasa amin'ny matetika 250 kHz. Ankoatra ny Linux, ny emulator dia afaka mihazakazaka Micropython ihany koa.

Emulator RISC-V amin'ny endrika shader pixel izay ahafahanao mampandeha Linux amin'ny VRChat

Mba hamoronana fitahirizana angon-drakitra maharitra miaraka amin'ny fanohanana ny famakiana sy ny fanoratana, ny fika dia ny fampiasana zavatra fakan-tsary mifamatotra amin'ny faritra mahitsizoro novokarin'ny shader ary mitarika ny fivoahan'ny tora-kofehy nadika amin'ny fampidirana shader. Amin'izany fomba izany, ny piksel rehetra nosoratana nandritra ny famonoana pixel shader dia azo vakiana rehefa voakarakara ny sary manaraka.

Rehefa mampihatra shaders pixel, dia atomboka mifanandrify amin'ny pixel texture tsirairay ny ohatra shader misaraka. Ity endri-javatra ity dia manasarotra ny fampiharana ary mitaky ny fandrindrana misaraka amin'ny toetry ny rafitra emulated manontolo sy ny fampitahana ny toeran'ny pixel voavoatra amin'ny toetry ny CPU voarakitra ao anatiny na ny votoatin'ny RAM an'ny rafitra emulated (ny pixel tsirairay dia afaka encode 128 bits of information). Ny kaody shader dia mitaky ny fampidirana fisavana marobe, mba hanatsorana ny fampiharana izay nampiasana ny perl preprocessor perlpp.



Source: opennet.ru

Add a comment