์์คํค ๋ ๋๋ฌ ๋ฐ๋ชจ ์์
๊นํ ์์คํค ๋ ๋๋ฌ ๊ณต์
PAGE25์์ ๋ชฉ์ฑ์ ๋ ธ๋๋ผ๋ ์ธ๋๊ฒ์ ๊ฐ๋ฐํ๊ณ ์๋ ์ฝใ ก๋์. ํญ์ ๋ํ ๋ง ํ๋ค๊ฐ ๋ค๋ฆ๊ฒ ๊ฐ๋ฐ์ผ์ง๋ฅผ ์ฐ๊ฒ ๋์๋ค.
์ ๋ํฐ์์ ์์คํค ๋ ๋๋ฌ ๊ฐ๋ฐํ๋ฉด์ ์ด๋ฐ๊ฑฐ ํ๋ฒ์ฏค ์ธ ์น๊ตฌ๋ค ์์ง ์์๊น ํด์ ์ฐ๋ ๊ธฐ๊ฐ์ ์ฝ๋์ง๋ง ๋ถ๋๋ผ์ ๋ฌด๋ฆ ์ฐ๊ณ ๊ณต์ ํ๊ณ ์ถ์ด์ ์์ฑํ๊ฒ๋จ.
์ฐ๋ฆฌ ๊ฒ์์ ๋ฏธ์คํฐ๋ฆฌํ ์บ๋ฆญํฐ๊ฐ ์์คํค ์ํธ๋ก ๋ณํ๋์ CRT ๋ชจ๋ํฐ์ ํ์๋์ด์ผ ํ์.
์ด ๋ ์ํธ๋ถ์ด ์์คํค ์ํธ ๋ณํ๊ธฐ ์ฌ์ดํธ์์ ๋ฆฌ์์ค๋ฅผ ์ผ์ผํ ๋ณํํ์๋ฉด์ ์ ๋ํฐ์ ์ํฌํธํ๋๊ฒ ๋๋ฌด ํ๋ค์ด ๋ณด์๊ณ ,
๊ทธ๋์ ์ ๋ํฐ ๋ด์์ ์ง์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ๋ผ์ด๋ํ๋ฉด์ ์ค์๊ฐ์ผ๋ก ์์คํค๊ฐ ์ด๋ป๊ฒ ๋ฐ๋๋์ง ํ์ธํ ์ ์๋ ๋ ๋๋ฌ๋ฅผ ๋ง๋ค๊ธฐ๋ก ํจ.
๊ทผ๋ฐ ํ์๋ค์ ์ ๋ ์คํ ์ฒ๋ผ ์ ๋๋ฉ์ด์ ์ด ํฌํจ๋ ์ด์ํ๋ฅผ ์ํด์ ๋ ๋๋ฌ์ ์ ๋๋ฉ์ดํฐ ๊ธฐ๋ฅ๋ ๊ธฐ์๋ถ์.
์ค. ๋ญ๊ฐ ๋์ถฉ ์ด์์ผ๋ก๋ ์ ๊ตฌํ์ด ๋์์.
์ฌ๊ธฐ์ ์ถ๊ฐ๋ก ๋ฐฐ๊ฒฝ์ด ์ข ๋ฐ๋ฐํ๋ค๋ ํผ๋๋ฐฑ์ด ์์ด์ ์๋ 3๊ฐ์ง ์ ํ์ง ์ค์์ ๊ณ ๋ฏผ์ ์ข ํ์.
- ์ํธ๋ถ๊ป ๋ฐฐ๊ฒฝ์์ด ํฌํจ๋ ๋ฆฌ์์ค๋ฅผ ์์ฒญํด์ ๋ณํํ์ ๋ ์ด๋ค ๋๋์ธ์ง ๋ณธ๋ค. ์ฌ์ ํ ์ด์ํ๋ฉด ๋ฐ๋ณต.
- ์์คํค ๋ฌธ์ ํ๋ฆฌ์ ์ ๊ณต๋ฐฑ(โ โ) ๋ฌธ์ ๋์ , โ.โ ๊ฐ์ ๊ฐ์ฅ ๋ฐ๋๊ฐ ๋ฎ์ ๋ฌธ์๋ก ๋ฐ๊พผ๋ค.
- ๊ฑ ๋ฐฐ๊ฒฝ์ฉ ์์คํค ๋ฌธ์๋ฅผ ๋ฐ๋ก ๋นผ๊ณ ๋ ๋๋ฌ์ ์ TMPro ์ค๋ธ์ ํธ๋ฅผ ํ๋ ๋ ์ฐธ์กฐ์ํจ ํ, ๋ณ๊ฐ๋ก ์๋ํ๊ฒ ํ๋ค.
1๋ฒ์ ๋๋ฌด ๋นํจ์จ์ ์ด๊ณ 2๋ฒ์ผ๋ก ์ด๋ป๊ฒ ํด๋ณด๋ค๊ฐ, ์ด์ํ๊ฒ ํต์ผ๊ฐ์ด ์๊ณ ๋ฐฐ๊ฒฝ์ด๋ ํ์คํ ๊ตฌ๋ถ์ด ๋์ผํ ๊ฑฐ๊ฐ์์ 3๋ฒ์ผ๋ก ๊ฐ๋ํ์.
์ง์(์ด๊ฒ๋๋ค)
๊ทผ๋ฐ ์ด๊ฑธ ํ ์ฌ์ 5๊ฐ ์ด์ ๋ฐฐ์นํ๊ฑฐ๋ ํด์๋(columns)๋ฅผ ๋๋ฌด ๋๊ฒ ํ๋ฉด ํ๋ ์๋๋์ด ์ฌํด์ก์.
๋ญ๊ฐ ํ๊ณ ๋ดค๋๋ AsciiImageUGUI.Update()์์ ์ก์๋จน๋ CPU ์ ์ ์จ๋ง 70%๊ฐ ๋์๊ณ , ํ ํ๋ ์ ์ง์ฐ์๊ฐ์ด 27.5ms์ผ ์ ๋๋ก ํ๋ ์์ด ๋๋ ๋๊ธฐ๋ ํ์์ด ๋ฐ์ํจ.
์ฆ์ ๋ฐ์ด๋ธ ์ฝ๋ฉ.
GPT๋ ๋ ๊ฐ์ง ์์ธ์ ์ง์๊ณ , ์๊ฐ ์จ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฉํ๋ ํ ๋ฐฉ์ ํด๊ฒฐ์ด ๋์์.
GPT๊ฐ ์จ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฉํ๋ ๋ฐ๋ก ์ ์ํ๋ ๋ชจ์ต..
ํ๋กํ์ผ๋ฌ๋ก ๋ค์ ์ธก์ ํด๋ณด๋ฉด CPU ์ ์ ์จ์ด 60% ์ด์ ์ค์๊ณ ์ง์ฐ์๊ฐ๋ 1/10 ํ ๋ง๋จ.
Texture2D.ReadPixels ํธ์ถํ๊ณ ๋ฐ๋ก Texture2D.Apply๋ฅผ ํธ์ถํ๋๊ฒ ์ํฅ์ด ํฐ ๊ฒ ๊ฐ๋๋ผ. GPU๊ฐ ํต์ง ํ ์ค์ฒ์ ํฝ์ ์ ๋งค ํ๋ ์ 10๋ฒ ์ด์ ์ฝ๋ ๋์ CPU๋ฅผ busy waiting ์ํค๋ ๊ฒฉ..
์งํผํฐ๋ ์ ์ด๋ค. ํนํ ๋ด๊ฐ ์ ๋ํฐ ์ ฐ์ด๋ ํ์ดํ๋ผ์ธ์ ๋ฌด์งํ๋ค๋ณด๋ ๊ทธ์ชฝ ๊ด๋ จ์ผ๋ก ๋ค๋ฃฐ ๋ ํผํฌ๋จผ์ค๊ฐ ์ข๋ค๊ณ ๋๋.
์ฒซ ๊ฐ๋ฐ์ผ์ง๋ฅผ ์ฐ๋ ค๋ค ๋ณด๋ ์ข ์ด์์ ํ๋ค. ์๋ฌดํผ ๋ค๋ฌํฐ๋ธ 3d ์ด๋๋ฒค์ฒ ๊ฒ์ ์ด์ฌํ ๊ฐ๋ฐ ์ค์ด๋ ๋ง๊ด๋ถ!
์ ๊ฐ์ฑ
๊ฒ์ ๋ถ์๊ธฐ ๋๊ฒ์ข๋ค
https://tympanus.net/codrops/2024/11/13/creating-an-ascii-shader-using-ogl/
์ด๋ฐ
๋ฐฉ๋ฒ๋ ์์
https://github.com/AbstractBorderStudio/Ascii_Shader
godot
์์ ๋ง๋๋๊ฑฐ๊ธด ํ๋ฐ ๊ตฌํ ๋ณด๊ณ ์ฐธ๊ณ ํ ๋ง ํจ
์ ๋๋ ์ข๋ค
์ ์ ๊ธฐ์ถ
์ด๊ฒ ๋๋น;;
๊ฐฌ์ฑ์ถ~~