VRChatలో Linuxని అమలు చేయడానికి మిమ్మల్ని అనుమతించే పిక్సెల్ షేడర్ రూపంలో RISC-V ఎమ్యులేటర్

మల్టీప్లేయర్ ఆన్‌లైన్ గేమ్ VRChat యొక్క వర్చువల్ 3D స్పేస్‌లో Linux ప్రయోగాన్ని నిర్వహించడంపై చేసిన ప్రయోగం యొక్క ఫలితాలు ప్రచురించబడ్డాయి, ఇది 3D మోడల్‌లను వారి స్వంత షేడర్‌లతో లోడ్ చేయడానికి అనుమతిస్తుంది. ఊహించిన ఆలోచనను అమలు చేయడానికి, RISC-V ఆర్కిటెక్చర్ యొక్క ఎమ్యులేటర్ సృష్టించబడింది, పిక్సెల్ (ఫ్రాగ్మెంట్) షేడర్ (VRChat కంప్యూటేషనల్ షేడర్‌లు మరియు UAVలకు మద్దతు ఇవ్వదు) రూపంలో GPU వైపున అమలు చేయబడింది. ఎమ్యులేటర్ కోడ్ MIT లైసెన్స్ క్రింద ప్రచురించబడింది.

ఎమ్యులేటర్ C భాషలో అమలుపై ఆధారపడి ఉంటుంది, దీని సృష్టి, రస్ట్ భాషలో అభివృద్ధి చేయబడిన మినిమలిస్టిక్ ఎమ్యులేటర్ riscv-రస్ట్ యొక్క అభివృద్ధిని ఉపయోగించింది. సిద్ధం చేయబడిన C కోడ్ HLSLలో పిక్సెల్ షేడర్‌లోకి అనువదించబడింది, VRChatలో లోడ్ చేయడానికి అనుకూలంగా ఉంటుంది. ఎమ్యులేటర్ rv32imasu ఇన్‌స్ట్రక్షన్ సెట్ ఆర్కిటెక్చర్, SV32 మెమరీ మేనేజ్‌మెంట్ యూనిట్ మరియు కనీస సెట్ పెరిఫెరల్స్ (UART మరియు టైమర్) కోసం పూర్తి మద్దతును అందిస్తుంది. Linux కెర్నల్ 5.13.5 మరియు ప్రాథమిక BusyBox కమాండ్ లైన్ ఎన్విరాన్మెంట్‌ను లోడ్ చేయడానికి సిద్ధం చేసిన సామర్థ్యాలు సరిపోతాయి, దానితో మీరు VRChat వర్చువల్ ప్రపంచం నుండి నేరుగా ఇంటరాక్ట్ చేయవచ్చు.

VRChatలో Linuxని అమలు చేయడానికి మిమ్మల్ని అనుమతించే పిక్సెల్ షేడర్ రూపంలో RISC-V ఎమ్యులేటర్
VRChatలో Linuxని అమలు చేయడానికి మిమ్మల్ని అనుమతించే పిక్సెల్ షేడర్ రూపంలో RISC-V ఎమ్యులేటర్

ఎమ్యులేటర్ దాని స్వంత డైనమిక్ ఆకృతి (యూనిటీ కస్టమ్ రెండర్ టెక్స్చర్) రూపంలో షేడర్‌లో అమలు చేయబడుతుంది, ఇది VRChat కోసం అందించబడిన ఉడాన్ స్క్రిప్ట్‌లతో అనుబంధంగా ఉంటుంది, ఇది దాని అమలు సమయంలో ఎమ్యులేటర్‌ను నియంత్రించడానికి ఉపయోగించబడుతుంది. RAM యొక్క కంటెంట్‌లు మరియు ఎమ్యులేటెడ్ సిస్టమ్ యొక్క ప్రాసెసర్ స్థితి 2048x2048 పిక్సెల్‌ల పరిమాణంలో ఆకృతి రూపంలో నిల్వ చేయబడుతుంది. ఎమ్యులేటెడ్ ప్రాసెసర్ 250 kHz ఫ్రీక్వెన్సీలో పనిచేస్తుంది. Linuxతో పాటు, ఎమ్యులేటర్ మైక్రోపైథాన్‌ను కూడా అమలు చేయగలదు.

VRChatలో Linuxని అమలు చేయడానికి మిమ్మల్ని అనుమతించే పిక్సెల్ షేడర్ రూపంలో RISC-V ఎమ్యులేటర్

చదవడం మరియు వ్రాయడం కోసం మద్దతుతో నిరంతర డేటా నిల్వను సృష్టించడానికి, షేడర్ ద్వారా ఉత్పత్తి చేయబడిన దీర్ఘచతురస్రాకార ప్రాంతానికి కట్టుబడి ఉన్న కెమెరా వస్తువును ఉపయోగించడం మరియు రెండర్ చేయబడిన ఆకృతి యొక్క అవుట్‌పుట్‌ను షేడర్ ఇన్‌పుట్‌కు మళ్లించడం ఒక ఉపాయం. ఈ విధంగా, పిక్సెల్ షేడర్ ఎగ్జిక్యూషన్ సమయంలో వ్రాసిన ఏదైనా పిక్సెల్ తదుపరి ఫ్రేమ్ ప్రాసెస్ చేయబడినప్పుడు చదవబడుతుంది.

పిక్సెల్ షేడర్‌లను వర్తింపజేసేటప్పుడు, ప్రతి ఆకృతి పిక్సెల్‌కు సమాంతరంగా ప్రత్యేక షేడర్ ఉదాహరణ ప్రారంభించబడుతుంది. ఈ లక్షణం అమలును గణనీయంగా క్లిష్టతరం చేస్తుంది మరియు మొత్తం ఎమ్యులేటెడ్ సిస్టమ్ యొక్క స్థితి యొక్క ప్రత్యేక సమన్వయం మరియు ప్రాసెస్ చేయబడిన పిక్సెల్ యొక్క స్థానం దానిలో ఎన్‌కోడ్ చేయబడిన CPU స్థితి లేదా ఎమ్యులేటెడ్ సిస్టమ్ యొక్క RAM యొక్క కంటెంట్‌లతో పోల్చడం అవసరం (ప్రతి పిక్సెల్ 128 ఎన్‌కోడ్ చేయగలదు. సమాచారం యొక్క బిట్స్). perl preprocessor perlpp ఉపయోగించబడిన అమలును సులభతరం చేయడానికి, షేడర్ కోడ్‌కు భారీ సంఖ్యలో చెక్‌లను చేర్చడం అవసరం.



మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి