์์ฒด ์ ฐ์ด๋๋ก 3D ๋ชจ๋ธ์ ๋ก๋ํ ์ ์๋ ๋ฉํฐํ๋ ์ด์ด ์จ๋ผ์ธ ๊ฒ์ VRChat์ ๊ฐ์ 3D ๊ณต๊ฐ ๋ด์์ Linux ์ถ์๋ฅผ ๊ตฌ์ฑํ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ๊ณต๊ฐ๋์์ต๋๋ค. ๊ตฌ์๋ ์์ด๋์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด RISC-V ์ํคํ ์ฒ์ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์์ฑ๋์์ผ๋ฉฐ ํฝ์ (์กฐ๊ฐ) ์ ฐ์ด๋ ํํ๋ก GPU ์ธก์์ ์คํ๋์์ต๋๋ค(VRChat์ ๊ณ์ฐ ์ ฐ์ด๋ ๋ฐ UAV๋ฅผ ์ง์ํ์ง ์์). ์๋ฎฌ๋ ์ดํฐ ์ฝ๋๋ MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๊ฒ์๋ฉ๋๋ค.
์๋ฎฌ๋ ์ดํฐ๋ C ์ธ์ด ๊ตฌํ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ๊ทธ ์์ฑ์๋ Rust ์ธ์ด๋ก ๊ฐ๋ฐ๋ ์ต์ํ์ ์๋ฎฌ๋ ์ดํฐ riscv-rust์ ๊ฐ๋ฐ์ด ์ฌ์ฉ๋์์ต๋๋ค. ์ค๋น๋ C ์ฝ๋๋ VRChat์ ๋ก๋ํ๊ธฐ์ ์ ํฉํ HLSL์ ํฝ์ ์ ฐ์ด๋๋ก ๋ณํ๋ฉ๋๋ค. ์๋ฎฌ๋ ์ดํฐ๋ rv32imasu ๋ช ๋ น์ด ์ธํธ ์ํคํ ์ฒ, SV32 ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น ๋ฐ ์ต์ ์ฃผ๋ณ ์ฅ์น ์ธํธ(UART ๋ฐ ํ์ด๋จธ)๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํฉ๋๋ค. ์ค๋น๋ ๊ธฐ๋ฅ์ VRChat ๊ฐ์ ์ธ๊ณ์์ ์ง์ ์ํธ ์์ฉํ ์ ์๋ Linux ์ปค๋ 5.13.5 ๋ฐ ๊ธฐ๋ณธ BusyBox ๋ช ๋ น์ค ํ๊ฒฝ์ ๋ก๋ํ๋ ๋ฐ ์ถฉ๋ถํฉ๋๋ค.
์๋ฎฌ๋ ์ดํฐ๋ ์คํ ์ค์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ ์ดํ๋ โโ๋ฐ ์ฌ์ฉ๋๋ VRChat์ฉ์ผ๋ก ์ ๊ณต๋๋ Udon ์คํฌ๋ฆฝํธ๋ก ๋ณด์๋ ์์ฒด ๋์ ํ ์ค์ฒ(Unity Custom Render Texture)์ ํํ๋ก ์ ฐ์ด๋์์ ๊ตฌํ๋ฉ๋๋ค. RAM์ ๋ด์ฉ๊ณผ ์๋ฎฌ๋ ์ดํธ๋ ์์คํ ์ ํ๋ก์ธ์ ์ํ๋ 2048x2048 ํฝ์ ํฌ๊ธฐ์ ํ ์ค์ฒ ํํ๋ก ์ ์ฅ๋ฉ๋๋ค. ์๋ฎฌ๋ ์ดํธ๋ ํ๋ก์ธ์๋ 250kHz์ ์ฃผํ์์์ ์๋ํฉ๋๋ค. Linux ์ธ์๋ ์๋ฎฌ๋ ์ดํฐ๋ Micropython์ ์คํํ ์๋ ์์ต๋๋ค.
์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ๋ฅผ ์ง์ํ๋ ์๊ตฌ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ ฐ์ด๋์์ ์์ฑ๋ ์ง์ฌ๊ฐํ ์์ญ์ ๋ฐ์ธ๋ฉ๋ ์นด๋ฉ๋ผ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๊ณ ๋ ๋๋ง๋ ํ ์ค์ฒ์ ์ถ๋ ฅ์ ์ ฐ์ด๋ ์ ๋ ฅ์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ด ๋น๊ฒฐ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํฝ์ ์ ฐ์ด๋ ์คํ ์ค์ ์์ฑ๋ ๋ชจ๋ ํฝ์ ์ ๋ค์ ํ๋ ์์ด ์ฒ๋ฆฌ๋ ๋ ์ฝ์ ์ ์์ต๋๋ค.
ํฝ์ ์ ฐ์ด๋๋ฅผ ์ ์ฉํ ๋ ๊ฐ ํ ์ค์ฒ ํฝ์ ์ ๋ํด ๋ณ๋์ ์ ฐ์ด๋ ์ธ์คํด์ค๊ฐ ๋ณ๋ ฌ๋ก ์์๋ฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๊ตฌํ์ ์๋นํ ๋ณต์กํ๊ฒ ํ๋ฉฐ ์ ์ฒด ์๋ฎฌ๋ ์ดํธ๋ ์์คํ ์ ์ํ๋ฅผ ๋ณ๋๋ก ์กฐ์ ํ๊ณ ์ฒ๋ฆฌ๋ ํฝ์ ์ ์์น๋ฅผ โโ์ฌ๊ธฐ์ ์ธ์ฝ๋ฉ๋ CPU ์ํ ๋๋ ์๋ฎฌ๋ ์ดํธ๋ ์์คํ ์ RAM ๋ด์ฉ๊ณผ ๋น๊ตํด์ผ ํฉ๋๋ค(๊ฐ ํฝ์ ์ 128์ ์ธ์ฝ๋ฉํ ์ ์์). ์ฝ๊ฐ์ ์ ๋ณด). ์ ฐ์ด๋ ์ฝ๋์๋ perl ์ ์ฒ๋ฆฌ๊ธฐ perlpp๊ฐ ์ฌ์ฉ๋ ๊ตฌํ์ ๋จ์ํํ๊ธฐ ์ํด ์์ฒญ๋ ์์ ๊ฒ์ฌ๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์ถ์ฒ : opennet.ru