ํ ๋ชจ๋ธ์ ๋ฌผ์ฒด ํ๋ฉด์์ ๊ฐ์ง๋๋ ์์์ ๋ํจ์ฆ(Diffuse), ์คํํ๋ฌ(Specular), ์ฐ๋น์ธํธ(Ambient), ๋ฐ์ฐ๊ด(Emissive Light) ์ด 4๊ฐ์ง ํญ๋ชฉ์ผ๋ก ๋ถ๋ฆฌํด์ ์ฒ๋ฆฌํ๋ค.
๋ํจ์ฆ๋ ๋๋ฐ์ฌ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
๋๋ฐ์ฌ๋ ๋ํจ์ฆ ํ๋ฉด์ด๋ผ ๋ถ๋ฆฌ๋ ์ด์์ ์ธ ํ๋ฉด์ผ๋ก ๋ค์ด์จ ๋น์ด ๋ชจ๋ ๋ฐฉํฅ์ผ๋ก, ๊ฐ์ ๊ฐ๋๋ก ๋ฐ์ฌ๋๋ ๊ฒ์ ๋งํ๋ค.
๋ฌผ์ฒด ํ๋ฉด ์ ์ p์ ๋ค์ด์ค๋ ๋น์ ์์ ์ ์ํ๋ ค๋ฉด ์ p์ ๋
ธ๋ฉ๊ณผ ๋น ๋ฒกํฐ l์ ๋ด์ ํ๋ฉด ๋๋ค.
nยทl = |n||l|cosฮธ
๊ทผ๋ฐ ๋น์ด ๋ค์ด์ค๋ ์ ์ฌ๊ฐ์ด 90๋ ๋ณด๋ค ํฌ๋ฉด ์ด๊ฒ ์์๊ฐ ๋๋ค. ๋น์ ์ธ๊ธฐ๊ฐ ์์๊ฐ ๋ ์ ์์ผ๋ฏ๋ก ์ด ๊ฒฝ์ฐ nยทl ์ 0์ผ๋ก ์ฒ๋ฆฌํด์ค๋ค.
max(nยทl,0)
์ ์์ p์ ๋ค์ด์ค๋ ๋น์ '๊ฐ๋'๋ฅผ ๊ฒฐ์ ํ๋ ์์ด๋ค.
๋ฐ์ฌ๋๋ ๋น์ ์์์ ๋ค์๊ณผ ๊ฐ๋ค.
sd * md
sd : ๊ด์์ ์์(RGB)
md : ๋ฌผ์ฒด์ ๋ํจ์ฆ ๊ณ์(diffuse reflectance)
(s : light source, m : material)
๊ด๋์ ์์์ ๊ณฑํ๋ฉด ํ ๋ชจ๋ธ์ ๋ํจ์ฆ ํญ์ด ์์ฑ๋๋ค.
max(nยทl,0) * (sd*md)
์คํํ๋ฌ๋ ์ ๋ฐ์ฌ๋ค. ์ด๋ ๋ฌผ์ฒด ํ๋ฉด์ ํ์ด๋ผ์ดํธ๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ค.
์๊น ๋ํจ์ฆ์์ ๋๋ฐ์ฌ๋ ๋ชจ๋ ๋ฐฉํฅ์ผ๋ก ๋์ผํ๊ฒ ๋ฐ์ฌ๋๋ฏ๋ก ์นด๋ฉ๋ผ์ ์์น๋ฅผ ๊ณ ๋ คํ ํ์๊ฐ ์์๋ค.
๊ทธ๋ฌ๋ ์ ๋ฐ์ฌ์ ๊ฒฝ์ฐ ์นด๋ฉ๋ผ์ ์์น์ ๋ฐ๋ผ ๋น์ด ๋ค์ด์ค๊ณ ์๋ค์ด์ค๊ณ ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ณ ๋ คํด์ฃผ์ด์ผ ํ๋ค.
๋น ๋ฒกํฐ l์ด ์ ์ฌ๊ฐ = ๋ฐ์ฌ๊ฐ์ผ๋ก ๋ฐ์ฌ๋๋๋ฐ, ๊ทธ ๋ฐ์ฌ๋๋ ๋น์ด r์ด๊ณ p์์ ์นด๋ฉ๋ผ๋ฅผ ํฅํ๋ ๋ฒกํฐ๊ฐ v๋ค.
์ฐ์ ๋ฐ์ฌ ๋ฒกํฐ r์ ๊ณ์ฐํด๋ณด๋ฉด
r = 2n(nยทl)-l ์ด๋ค.
ํ์ด๋ผ์ดํธ๋ฅผ ๋ณผ ์ ์๋ ์์ญ์ r์ ์ค์ฌ์ผ๋ก ํ ์๋ฟ ๋ชจ์์ผ๋ก ๋ฌ์ฌํ ์์๋ค. v๊ฐ ์๋ฟ ์์ ๋์ด๋ฉด ํ์ด๋ผ์ดํธ๋ฅผ ๋ณผ ์ ์๋ ๊ฒ์ด๋ค.
์๋ฟ ์์์ ํ์ด๋ผ์ดํธ๊ฐ ๊ฐ์๋๋ ์ ๋๋ (rยทv)^sh ์ด๋ค.
sh : ๋งค๋ํจ์ ์ ๋. r๊ณผ v๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ sh๊ฐ ์ปค์ง์๋ก ํ์ด๋ผ์ดํธ๋ ๊ธ๊ฒฉํ๊ฒ ๊ฐ์ํ๋ค.
ํ ๋ชจ๋ธ์ ์คํํ๋ฌ ํญ์ ๋ค์๊ณผ ๊ฐ๋ค.
(max(rยทv, 0))^sh * Ss * Ms
Ss : ๊ด์์ ์์
Ms : ๋ฌผ์ฒด์ ์คํํ๋ฌ ๊ณ์
Ss๋ ์ผ๋ฐ์ ์ผ๋ก Sd์ ๊ฐ์ ๊ฐ์ ๊ฐ์ง๊ณ Ms๋ ๋ฌผ์ฒด ํ๋ฉด์ ํ์ด๋ผ์ดํธ๊ฐ ๊ด์์ ์์ ๋ฐ์ํ๊ธฐ ์ํด gray-scale๋ก ํํ๋๋ค.
๊ณต๊ฐ ๋ด ๋ค์ํ ๋ฌผ์ฒด๋ก๋ถํฐ ๋ฐ์ฌ๋ ๋น์ ์ฐ๋น์ธํธ ๋น ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด๋ ๊ฐ์ ์กฐ๋ช
์ ํด๋นํ๋ค.
์ฐ๋น์ธํธ ๋ฐ์ฌ๋ ์๋์ ๊ฐ์ด ๊ฐ๋จํ๊ฒ ์ ์๋๋ค.
Sa * Ma
Sa : ์ฐ๋น์ธํธ ๋น์ ์์(RGB)
Ma : ์ฐ๋น์ธํธ ๊ณ์
์ต์ข
์ ์ผ๋ก ํ ๋ชจ๋ธ์
์์ ๋ค๋ฃฌ 3๊ฐ์ง ํญ์ธ ๋ํจ์ฆ, ์คํจํ๋ฌ, ์ฐ๋น์ธํธ๋ฅผ ๋ชจ๋ ๋ ํด ์๋์ ๊ฐ์ด ์ ์๋๋ค.
max(nยทl,0) (sdmd) + (max(rยทv, 0))^sh * Ss * Ms + Sa * Ma