மல்டிபிளேயர் ஆன்லைன் கேம் VRChat இன் மெய்நிகர் 3D இடத்தினுள் Linux இன் வெளியீட்டை ஒழுங்குபடுத்துவதற்கான ஒரு பரிசோதனையின் முடிவுகள் வெளியிடப்பட்டுள்ளன, இது 3D மாதிரிகளை அவற்றின் சொந்த ஷேடர்களுடன் ஏற்ற அனுமதிக்கிறது. கருத்தரிக்கப்பட்ட யோசனையைச் செயல்படுத்த, RISC-V கட்டமைப்பின் முன்மாதிரி உருவாக்கப்பட்டது, GPU பக்கத்தில் பிக்சல் (துண்டு) ஷேடரின் வடிவத்தில் செயல்படுத்தப்பட்டது (VRChat கணக்கீட்டு ஷேடர்கள் மற்றும் UAV ஐ ஆதரிக்காது). முன்மாதிரி குறியீடு MIT உரிமத்தின் கீழ் வெளியிடப்பட்டது.
எமுலேட்டர் சி மொழியில் செயல்படுத்தப்படுவதை அடிப்படையாகக் கொண்டது, இதன் உருவாக்கம், ரஸ்ட் மொழியில் உருவாக்கப்பட்ட மினிமலிஸ்டிக் எமுலேட்டர் riscv-rust இன் வளர்ச்சியைப் பயன்படுத்தியது. தயாரிக்கப்பட்ட C குறியீடு HLSL இல் பிக்சல் ஷேடராக மொழிபெயர்க்கப்பட்டுள்ளது, இது VRChat இல் ஏற்றுவதற்கு ஏற்றது. எமுலேட்டர் rv32imasu இன்ஸ்ட்ரக்ஷன் செட் ஆர்கிடெக்ச்சர், SV32 மெமரி மேனேஜ்மென்ட் யூனிட் மற்றும் குறைந்தபட்ச செட் பெரிஃபெரல்ஸ் (UART மற்றும் டைமர்) ஆகியவற்றிற்கு முழு ஆதரவை வழங்குகிறது. Linux கர்னல் 5.13.5 மற்றும் அடிப்படை BusyBox கட்டளை வரி சூழலை ஏற்றுவதற்கு தயார்படுத்தப்பட்ட திறன்கள் போதுமானவை, நீங்கள் VRChat மெய்நிகர் உலகில் இருந்து நேரடியாக தொடர்பு கொள்ளலாம்.
எமுலேட்டர் ஷேடரில் அதன் சொந்த டைனமிக் டெக்ஸ்ச்சர் (யூனிட்டி கஸ்டம் ரெண்டர் டெக்ஸ்ச்சர்) வடிவத்தில் செயல்படுத்தப்படுகிறது, இது VRChat க்காக வழங்கப்பட்ட Udon ஸ்கிரிப்ட்களால் கூடுதலாக வழங்கப்படுகிறது, இது அதன் செயல்பாட்டின் போது முன்மாதிரியைக் கட்டுப்படுத்தப் பயன்படுகிறது. ரேமின் உள்ளடக்கங்கள் மற்றும் எமுலேட்டட் அமைப்பின் செயலி நிலை ஆகியவை அமைப்பு வடிவத்தில், 2048x2048 பிக்சல்கள் அளவில் சேமிக்கப்படுகின்றன. முன்மாதிரி செயலி 250 kHz அதிர்வெண்ணில் இயங்குகிறது. லினக்ஸைத் தவிர, எமுலேட்டரும் மைக்ரோபித்தானை இயக்க முடியும்.
வாசிப்பதற்கும் எழுதுவதற்கும் ஆதரவுடன் நிலையான தரவு சேமிப்பகத்தை உருவாக்க, ஷேடரால் உருவாக்கப்பட்ட செவ்வகப் பகுதிக்கு பிணைக்கப்பட்ட கேமரா பொருளைப் பயன்படுத்துவதும், ரெண்டர் செய்யப்பட்ட அமைப்பின் வெளியீட்டை ஷேடர் உள்ளீட்டிற்குச் செலுத்துவதும் ஒரு தந்திரமாகும். இந்த வழியில், பிக்சல் ஷேடர் செயல்பாட்டின் போது எழுதப்பட்ட எந்த பிக்சலையும் அடுத்த ஃப்ரேம் செயலாக்கப்படும்போது படிக்க முடியும்.
பிக்சல் ஷேடர்களைப் பயன்படுத்தும்போது, ஒவ்வொரு டெக்ஸ்சர் பிக்சலுக்கும் இணையாக ஒரு தனி ஷேடர் நிகழ்வு தொடங்கப்படும். இந்த அம்சம் செயல்படுத்துவதை கணிசமாக சிக்கலாக்குகிறது மற்றும் முழு எமுலேட்டட் அமைப்பின் நிலையின் தனி ஒருங்கிணைப்பு மற்றும் செயலாக்கப்பட்ட பிக்சலின் நிலையை அதில் குறியிடப்பட்ட CPU நிலை அல்லது எமுலேட்டட் அமைப்பின் RAM இன் உள்ளடக்கங்களுடன் ஒப்பிடுவது தேவைப்படுகிறது (ஒவ்வொரு பிக்சலும் 128 ஐ குறியாக்க முடியும். சில தகவல்கள்). perl preprocessor perlpp பயன்படுத்தப்பட்ட செயலாக்கத்தை எளிமையாக்க, ஷேடர் குறியீடு அதிக எண்ணிக்கையிலான காசோலைகளைச் சேர்க்க வேண்டும்.
ஆதாரம்: opennet.ru