์ค๋๋ ์ฌ์ฌ์ฌํด์ ๊ธ ์ธ์ง๋ฅด๋ฌ ์์ต๋๋ค.
์ ๋ฒ์ ์๊ธฐํ๋ฏ์ด ์ค๋์ ์ ฐ์ด๋๋ฅผ ์ผ๋งค๋ก ๊ฐ๋ฅด์ณ์ค๊ป๋ฐ
์ผ๋จ ์ ฐ์ด๋ ์ฐ๋ ๋ฐฉ๋ฒ๋ถํฐ ์์๋ณด์.
์ ฐ์ด๋์ฐ๋๊ฑด shader_set(์ฐ๋ ์ ฐ์ด๋ ์ด๋ฆ);์ด๊ณ , ์ ฐ์ด๋ ์ฌ์ฉ์ ๊ทธ๋ง๋๊ณ ์ถ์ผ๋ฉด shader_reset(); ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด๋ผ.
๊ทธ๋ฆฌ๊ณ ๋ฐ๋์ shader_set๊ณผ shader_reset์ฌ์ด์ ๊ทธ๋ฆฌ๊ณ ์ถ์ ๋ฌผ์ฒด๋ฅผ ๋ฃ์ด์ค์ผ๋ผ์ง.
์๋ฅผ ๋ค์ด์ย
shader_set(shader0);
draw_self();
shader_reset();
๋ผ๊ณ ํ๋ค๋ฉด, ์ด ์ฝ๋๊ฐ ์๋ ๋ฌผ์ฒด์ shader0๊ฐ ์ ์ฉ๋์ ๊ทธ๋ ค์ง๋ค๋๊ฑฐ์ง.ย
๊ทธ๋ผ ์ด ์ ฐ์ด๋๋ฅผ ์ ์ฐ๋๋? ๋๊ฐ์ง ์ ๋๊ฐ ์๋๋ฐ,
์ฒซ๋ฒ์งธ๋ ์ํฉ์ ๋ฐ๋ผ ์ฃผ์ ์์ ๋ค๋ฅด๊ฒ ์ฃผ๊ณ ์ถ๋ค๊ฑฐ๋
๋๋ฒ์งธ๋ ์๋๋ฉ์ด์ ์ ๋ค ๊ทธ๋ฆด์ ์๊ฑฐ๋ ๋์ฒ๋ผ ๊ทธ๋ฆด ์ค๋ ฅ์ด ์์๋ ์ฐ๋๊ฑฐ์ง!
์ด๊ฒ ๋ฐ๋ก ํ์ํ ์ฌ๋ ์์ผ๋ฉด ๋ค์๋ฒ์ ์ฌ๋ ์ฝ๋ ์ค ์ ์๊ธฐ๋ ํ๋ฐ, ์์ผ๋ฉด ํ๋์ฉ ํ๋ฉด์ ๊ฐ๋ฅด์ณ์ค๊ฒ.
์๋์ ๋ญ๋ํ๋ฉด, ๋ด๊ฐ ์ ฐ์ด๋ ์ ์ฉ์ํค๊ณ ์ ฐ์ด๋ ์ด๋ป๊ฒ ๋์ค๋์ง ํ ์คํธํ ๋ ์ฐ๋ ๋์ด๊ฑฐ๋ ? ์๋์ ์ฝ๊ฐ ์ด๋ก๊ณ ํธ๋ฅด์ค๋ฆํ๊ฒ ๋ง๋ค๋ฉด(์ ฐ์ด๋์จ์ ๋ฌผ๋ก )
์๋ก์ฝ๋กฌ ๋์ง, ์ด๊ฑธ ์ด๋ป๊ฒ ํ๋๊ณ ?
๊ฒ์ค์ ์
ฐ์ด๋๋ฅผ ๋ณด๋ฉด ํญ์ด ๋๊ฐ๊ฐ ์์ด, ํ๋๋ Vertex, ํ๋๋ Fragment์ง.
๋ณดํต์ ์ ฐ์ด๋๋ฅผ ๋ค๋ฃฐ๋ Fragmet๋ง ์จ์ ์ ํ๋๊ฑฐ ๊ฐ์๋ฐ ๋๋ ์ผ๋งค๋ก ๋ฐฐ์์ ๊ทธ๋ฐ์ง ๋ช๊ฐ๋ Vertex๋ฅผ ์ข ๊ฑด๋๋ ค์ผ ๋๋๋ผ๊ณ ?
์จ๋ , ๋๊ฐ๊ฐ ๋ญ๋๋ฉด
Vertex๋ ์๋ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ง ์์น๋ฅผ ๋งํด์ฃผ๋๊ฑฐ๊ณ
Fragment๋ ์๋ ๊ทธ๋ฆผ์ด ๊ฐ์ง ์๊น์ ์ง์ ํด์ฃผ๋๊ฑฐ์ง!
์์์ ํ๊ฑด Fragment์๋ค๊ฐ ํ๋์ ์กฐ๊ธ ๋ ๋์ค๊ฒ ํ๊ฑฐ์ผ.
์ฐ๋ค๊ฐ ๊ท์ฐฎ์์ ธ์, ๋ค๋ฃจ๋๊ฑด ๊ฑ ๋ด์ํ ๋
๋๊ธ 0