Cg
๐ซ ๋ง๋จธ๋ฆฌ
์์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด.
C for Graphics.
๐ซ ์ข ๋ฅ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฒ๋ผ ํ๋๋ง ์ ๋ฐฐ์๋๋ฉด ๋๋จธ์ง๋ ์ฝ๊ฒ ํฐ๋ํ ์ ์๋ค.
๐ซง Cg
CG (C for Graphics) ์๋น๋์๊ฐ ๋ง์ดํฌ๋ก์ํํธ์ ํ๋ ฅํ์ฌ ๋ง๋ ์ธ์ด.
๐ซง HLSL
HLSL (High Level Shading Language) ๊ฐ์ฅ ์ ๋ช ํ๊ณ ๋ณดํธ์ ์ผ๋ก ๋๊ฒ ์ฐ์.
๐ซง GLSL
GLSL (OpenGL Shading Language) OpenGL์์ ์ฌ์ฉํ๋ ์ธ์ด.
๐ซ Unity
Unity๋ CG ์ธ์ด๋ฅผ ์ฌ์ฉ, URP๋ถํฐ๋ HLSL ์ฌ์ฉ. (์ธ๋ฆฌ์ผ๋ HLSL).
Unity๋ ์ถ๊ฐ์ ์ผ๋ก ShaderLab ์ธ์ด๋ฅผ ์ ์ํ๊ณ ์ด๋ฅผ ์ง์.
๐ซง Shader Lab
(๊ณ ์ ํ์ดํ๋ผ์ธ ์์ด๋ : fixed function shader)
- ๋งค์ฐ ๊ฐ๋ณ๊ณ , ํ๋์จ์ด ํธํ์ฑ์ด ์ข์ง๋ง, ๊ธฐ๋ฅ์ด ์๋นํ ๋ถ์กฑ > ๊ณ ๊ธํจ๊ณผ X
- ์์ฒด ๋ฌธ๋ฒ > ๋ค๋ฅธ ์์ด๋ ๋ฌธ๋ฒ๊ณผ ๊ฑฐ์ ํธํ X + ๊ฑฐ์ ์ง์ ์ค๋จ
- ใด โ ๋ค์ํ ํ๊ฒฝ์ ๋ง๋ ์์ด๋๋ก ์๋์ผ๋ก ๋ถ๊ธฐ๋์ด ๋ง๋ค์ด์ค
- ใด ๋ชจ๋ฐ์ผ, PC, ๊ธฐํ ์ฝ์ ๊ธฐ๊ธฐ, ๋ผ์ดํธ ๋งต ์ ๋ฌด, ์กฐ๋ช ์ด ํฝ์ ๋ผ์ดํ ์ผ ๋, ๋ฒํ ์ค ๋ผ์ดํ ์ผ ๋ ๋ฑ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ง๋ค ๋ค๋ฅธ ์์ด๋๋ฅผ ๋ง๋ค์ด์ผ ํ์ง๋ง, ์ํผ์ค ์์ด๋๋ ์ด๋ฐ ๊ฒฝ์ฐ์ ์๋ฅผ ์๋์ผ๋ก ์ ์
- ใด ๋๋ฌธ์ ํธ๋ฆฌ > ๋ถํ์ํ ์์ด๋ ์์ ๋์ด๋จ > ์ต์ ํ X
ํธํ์ฑ์ ๊ฐ์ฅ ๋์ง๋ง, ๊ทธ๋งํผ ํ ์ ์๋ ๊ฒ ์ ํ์
๐ซง Surface Shader
Shader Lab ์คํฌ๋ฆฝํธ + Cg ์์ด๋ ์ฝ๋.
(์ํผ์ค ์์ด๋)
- ShaderLab ์คํฌ๋ฆฝํธ์ ํจ๊ป ์ผ๋ถ๋ถ์ CG ์์ด๋ ์ฝ๋๋ฅผ ์ฌ์ฉ
- ๊ธฐ๋ณธ์ ์ธ ์กฐ๋ช ์ฝ๋์ ๋ฒํ ์ค ์์ด๋์ ๋ณต์กํ ๋ถ๋ถ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ์ฌ ์๋์ผ๋ก ์ฒ๋ฆฌ
- ํฝ์ ์์ด๋ ๋ถ๋ถ๋ง ๊ฐํธํ๊ฒ ์์ฑํ ์๋ ์์ > ํธํจ
- ๋น์ฃผ์ผ ์์ด๋ ์๋ํฐ์๋ ์๋นํ ๋น์ทํ ๊ฐ๋ > ์ฝ๊ฒ ๊ณต๋ถํ๊ณ ์์ฉํ๊ธฐ์๋ ์ข์
- ๋จ, ์ต์ ํ์๋ ๋ค์ ๋ฌด๋ฆฌ, ์ผ์ ์์ค ์ด์์ ๊ณ ๊ธ ๊ธฐ๋ฒ X
๊ฐ์ฅ ์ฝ๊ณ ๋ฉํฐ ํ๋ซํผ์์ ์ ๋์๋๋ ์ ฐ์ด๋, ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋๋๋ผ๋ ๋ฐฐ์ฐ๊ธฐ ์ฌ์ด ๊ฐ๋ , ์ํฐ์คํธ ๋ ๋ฒจ์์ ๋ฐฐ์ฐ๋
- ์ด๊ฑธ ๋ฐฐ์๋๋ฉด Vertax & Fragment Shader ๋ ์ดํดํ ์ ์๊ณ , ๋๋ ๋ชฝํค๋ก๋ ๊ฐ ์ ์๊ณ , ๋ ธ๋๋ก๋ ๊ฐ ์ ์๋ค
์คํ ๋ค์ค ์ํผ์ค ์์ด๋๋ ์ ๋ํฐ 5๋ถํฐ ๊ธฐ๋ณธ์ผ๋ก ์ ์ฉ๋ ์์ด๋ ํํ
ํ์ง๋ง ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ์์ด๋ ๋ผ์ดํธ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ฐ์ผ๊ณผ ๊ฐ์ ์ ์ฌ์ ๊ธฐ๊ธฐ์์ ๊ตฌ๋ํ๊ธฐ์๋ ๋ค์ ๋ฌด๊ฑฐ์ด ๊ฒ์ด ์ฌ์ค
๐ซง Vertax & Fragment Shader
- ShaderLab ์คํฌ๋ฆฝํธ์ ํจ๊ป CG ์์ด๋ ์ฝ๋๋ฅผ ์ฌ์ฉ, ์ข ๋ ๋ณธ๊ฒฉ์ ์ธ ์์ด๋ ์์ฑ ๋ฐฉ๋ฒ
- ์๋์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ ๋ถ๋ถ์ด ๋ณ๋ก ์์ด์ ์ ๋๋ก ๋ CG ์์ด๋ ๋ฐฉ์์ผ๋ก ๋ฒํ ์ค์ ์ขํ๋ณํ๋ถํฐ ์ ๋๋ก ์ฒ๋ฆฌํด์ผ ์๋
- ๋ฐฐ์ฐ๊ธฐ๋ ์กฐ๊ธ ์ด๋ ต์ง๋ง, ์์ ํ ์๋์ผ๋ก ์ ์ด ๊ฐ๋ฅ > ์ต์ ํ + ๊ณ ๊ธ ๊ธฐ๋ฒ O
Surface Shader์ ์์ ๋ฒ์ , CG๋ฅผ ๋ ๋ํ ์ผํ๊ฒ ๋ค๋ฃธ, Surface Shader๊ฐ ์คํ ๋ชจ๋๋ผ๋ฉด. Vertax & Fragment Shader๋ ์๋์ด๋ผ๋ ๋๋.