Abstract
์ด ๋
ผ๋ฌธ์์๋ ํ์ฐ ๋ฐ ๋นํ์ฐ ํ๋ฉด์ ๋ํ ๊ฐ์ ์กฐ๋ช
ํจ๊ณผ๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ทธ๋ด๋ฏํ๊ฒ ๋ ๋๋งํ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ ์ ์ํด์.ย ๊ฐ์ ์กฐ๋ช
์ ์ ๋ฐํ๋ ์ฅ๋ฉด์ ๊ธฐํํ์ ์ด์ ์ฐ๊ตฌ์์ ์ ์๋ ํ์ฅ๋ ๊ทธ๋ฆผ์ ๋งต์ผ๋ก ํฌ์ฐฉ๋๊ณ , 2์ฐจ ๊ด์์ ์ง์ ์กฐ๋ช
์ด ์๋ ํ๋ฉด์ ๋ถํฌ๋ฉ๋๋ค.ย ์ด ๋ฐฉ๋ฒ์ ์๋ก์ด ์ ์ ์ด๋ฌํ 2์ฐจ ๊ด์์ ๊ธฐ์ฌ๋ฅผ ์ง์ฐ ์
ฐ์ด๋ฉ ๊ณผ์ ์์ ์คํ๋ํ
ํ์ฌ, ๋ ๋๋ง ์๊ฐ์ ์ฅ๋ฉด ๋ณต์ก์ฑ๊ณผ ๋ถ๋ฆฌํ๋ค๋ ๊ฒ์ด์์.ย GPU์์ ์์ ํ ๊ตฌํ๋ ์ค์๋ ์ํ๋ง ์ ๋ต์ 2์ฐจ ๊ด์์ ํจ์จ์ ์ผ๋ก ์ ํํ ์ ์๊ฒ ํด์ค์.ย ๋ํ, ํ๋ฉด์ ๊ดํ์ ๋ง์ถฐ ๊ด์์ ์คํ๋ซ ๋ชจ์์ ์กฐ์ ํ๋ฉด, ์นด์ฐ์คํฑ์ ํจ์จ์ ์ผ๋ก ๋ ๋๋งํ ์ ์๋ต๋๋ค.ย ์ด์ ์ ๊ทผ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ, ๊ทผ์ฌ๋ ๊ฐ์ ์กฐ๋ช
์ ๋ถ๋ฆฌํ ์์ฒญ ๋ฐ ์กฐ๋ช
์กฐ๊ฑด์์๋ ๊ฑฐ์ ๊ฑฐ์น ์ํฐํฉํธ๋ฅผ ๋ํ๋ด์ง ์์์.ย ํ๋ ๊ทธ๋ํฝ ํ๋์จ์ด์์์ ๊ตฌํ์ ์ค๋ช
ํ๊ณ , ์ด์ ์ ๊ทผ ๋ฐฉ์๊ณผ์ ๋น๊ต๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ, ๊ฒ์์ ์ ํฉํ ์์ฉ์์์ ์ ์๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ ์ํฉ๋๋ค.
1 Introduction
๊ฐ์ ์กฐ๋ช
์ ์ฌ์ค์ ์ธ ๋ ๋๋ง์ ์ํ ๋ฏธ๋ฌํ์ง๋ง ์ค์ํ ์์์
๋๋ค.ย ๊ทธ ์ ์ญ์ ์ธ ํน์ฑ ๋๋ฌธ์ ๊ฐ์ ์กฐ๋ช
์ ๊ณ์ฐ์ ์
๋ช
๋๊ฒ ๋๋ฆฝ๋๋ค.ย ๋ฐ๋ผ์ ์ธํฐ๋ํฐ๋ธ ๊ทธ๋ํฝ์์๋ ๊ฐ์ ์กฐ๋ช
์ด ์ฃผ๋ก ์ฌ์ ๊ณ์ฐ๋ ๋ผ๋์ค์ํฐ ๋ผ์ดํธ ๋งต์ ํํ๋ก ์กด์ฌํ๊ฑฐ๋, ๊ฐ๋จํ์ง๋ง ์ธ์์ ์ธ ๊ทผ์ฌ์น๋ก ์ฐ๋น์ธํธ ์คํด๋ฃจ์ ์ ์ฌ์ฉํฉ๋๋ค.
๋ฐ๋ฉด์, ๊ฐ์ ์กฐ๋ช
์ ๋ํ ๋๋ต์ ์ธ ๊ทผ์ฌ์น๋ ๋ณดํต ๋ง์กฑ์ค๋ฝ์ต๋๋ค.ย ๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ํ ๋ฒ ๋ฐ์ฌ๋ ๊ฐ์ ์กฐ๋ช
์ ์๊ฐ์ ์ผ๋ก ์ถฉ๋ถํ๋ฉฐ [Tabellion and Lamorlette 2004], ์ฌ์ง์ด ๊ฐ์ ์กฐ๋ช
์ ๋ํ ์คํด๋ฃจ์ ๋ ๋ง์ ๊ฒฝ์ฐ ๋ฌด์ํ ์ ์์ต๋๋ค.ย ๊ทธ๋ฌ๋ ๊ฐ์ ์กฐ๋ช
์ ์๊ฐ์ ์ผ๋ก ์ผ๊ด๋์ด์ผ ํ๋ฉฐ ๊น๋ฐ์์ ๋ณด์ฌ์๋ ์ ๋ฉ๋๋ค.
์ด ๋
ผ๋ฌธ์์๋ ๊ฐ์ ์กฐ๋ช
์ ๊ทผ์ฌ ๊ณ์ฐ์ ์ํ ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํด์. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์์ ์ธ๊ธํ ๋จ์ํ ๊ฐ์ ์ ์์กดํ๊ฑฐ๋ ์.ย ์ฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐ์ ์ธ ๊ฒ์ ์๋๋ฆฌ์ค์์ ์ค์๊ฐ์ผ๋ก ์๋ํด์.ย ์ ๊ด์์ผ๋ก๋ถํฐ์ ๊ทผ์ฌ์ ์ด๊ณ ์๊ฐ์ ์ผ๋ก ์ผ๊ด๋ ํ ๋ฒ ๋ฐ์ฌ๋ ๊ฐ์ ์กฐ๋ช
์ ๊ณ์ฐํ์ฃ .ย ์นด๋ฉ๋ผ์ ๊ด์ ๋ชจ๋ ๋์ ์ผ๋ก ์์ง์ผ ์ ์์ด์.ย ์ด ์๊ณ ๋ฆฌ์ฆ์ Reflective Shadow Maps [Dachsbacher and Stamminger 2005]์ ์์ด๋์ด์ ๊ธฐ๋ฐํ๊ณ ์์ด์. ์ ๊ด์์ ๋ํด, ํ ๋ฒ ๋ฐ์ฌ๋ ๊ฐ์ ์กฐ๋ช
์ ์ผ์ผํค๋ ๋ชจ๋ ํ๋ฉด์ ๊ทธ๋ฆผ์ ๋งต์ ํฌ์ฐฉ๋์ฃ .ย ์ด๋ฌํ ํ๋ฉด์ผ๋ก๋ถํฐ ๊ฐ์ ์กฐ๋ช
์ ๊ณ์ฐํ๊ธฐ ์ํด, Reflective Shadow Map์ ๊ฐ ํฝ์
์ ๋ํด ํ๋ฉด ์์น, ๋ฒ์ , ๋ฐ์ฌ๋ ๋ฐฉ์ฌ ํ๋ญ์ค ๊ฐ์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ์ฅํด์.ย ๊ฐ์ ์กฐ๋ช
์ ์ด๋ฌํ ํ๋ฉด ์ํ, ์ฆ ํฝ์
๋ผ์ดํธ์ ์ ์ ํ๋ ๋ถ๋ถ ์งํฉ์ผ๋ก๋ถํฐ ๊ธฐ์ฌ๋ฅผ ๋ชจ์ ๊ทผ์ฌํํด์.ย ์ฐ๋ฆฌ๋ ๊ฐ์ ์กฐ๋ช
์ ๊ณ์ฐ์ ์ฌ๊ตฌ์ฑํด์ ํ๊ท ์ ์ผ๋ก ํจ์ฌ ์ ์ ๊ฐ์ ๊ด์์ ์ฌ์ฉํด๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๊ฒ ํ์ด์. ์ด๋ก ์ธํด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์ฃ .ย ๊ธฐ๋ณธ์ ์ผ๋ก Reflective Shadow Maps์์ ๊ฐ์ ์กฐ๋ช
์ ๋ชจ์ผ๋ ๋์ , ์ฐ๋ฆฌ๋ ๋ฐ์ฌ ์ ๊ทผ๋ฒ์ ์ฌ์ฉํด์.ย ๊ฐ ๊ฐ์ ์กฐ๋ช
์ ๋ํด, ๊ทธ ๊ธฐ์ฌ๋ฅผ ํ๋ฉด ๊ณต๊ฐ์ ์ด์์ ํผ๋จ๋ฆฌ์ฃ .ย ์ด๋ฅผ ํตํด ๊ฐ์ ์กฐ๋ช
์ ์ํฅ ๋ฒ์๋ฅผ ๋ ์ ์ ํํ ์ ์์ด์.ย ๊ฐ์ ๊ด์ ์ธํธ๋ ์ด๋ฏธ์ง์ ๋ชจ๋ ํฝ์
์ ๋ํด ๋์ผํ๋ฏ๋ก, ๋
ธ์ด์ฆ๊ฐ ์ค์ด๋ค๊ณ ๋์ ๋๋ ํธํฅ๋ ํจ์ฌ ์ ์ด์.ย ํ๋ ์ ์ฌ์ด์ ๊ฐ์ ๊ด์ ์์น๋ฅผ ์ผ๊ด๋๊ฒ ์ ์งํ๋ฉด ๊น๋นก์์ ํฌ๊ฒ ์ค์ผ ์ ์์ด์.ย ์ ์ฒด์ ์ผ๋ก, ๊ฐ์ ๊ด์์ ์๋ฅผ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ต๋๋ค.
๋ํ, ์ฐ๋ฆฌ๋ ๋ฐ์ง์ด๋ ๋ฐ์ฌ์ฒด๋ก๋ถํฐ ๊ฐ์ ์กฐ๋ช
์ ๊ณ์ฐํ ์ ์์ด์. ์ด๋ฅผ ํตํด ๊ฐ์ ํ์ฐ๊ด๊ณผ ๊ณ ํ์ง์ ์นด์ฐ์คํฑ์ค๋ฅผ ํตํฉ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ป์ ์ ์๋ต๋๋ค.ย ์ด๊ฒ์ ํฐ์ ์ด๋ฏธ์ง์์ ๋ณด์ฌ์ฃผ๊ณ ์๋๋ฐ์, ํ์ฐ ์ฅ๋ฉด๊ณผ ๋ฐ์ง์ด๋ ์ฅ๋ฉด์์์ ์ผ๋ถ ๊ฐ์ ์กฐ๋ช
์ ๋ณผ ์ ์์ด์(์ฒซ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ ์ด๋ฏธ์ง). ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ํ์ฐ๊ด๊ณผ ๋ฐ์ง์ด๋ ์กฐ๋ช
์ด ์ ์ฉ๋ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง๋ ๋ณผ ์ ์์ฃ (๋ ๋ฒ์งธ์ ๋ค ๋ฒ์งธ ์ด๋ฏธ์ง).ย ๋ค์ฏ ๋ฒ์งธ ์ด๋ฏธ์ง๋ Quake ๊ฒ์์ ์ค์๊ฐ ๊ฐ์ ์กฐ๋ช
์คํฌ๋ฆฐ์ท์ ๋ณด์ฌ์ค๋๋ค.
2 Previous Work
๊ฐ์ ์กฐ๋ช
์ ๋ณดํต ์คํ๋ผ์ธ ๋ ๋๋ง์์ ๋ ์ด ํธ๋ ์ด์ฑ์ด๋ ๋ผ๋์ค์ํฐ๋ฅผ ์ฌ์ฉํด ์์ฑ๋ผ์.ย [Tabellion and Lamorlette 2004]์์๋ Tabellion ๋ฑ ์ฐ๊ตฌ์ง์ด ์ํ ์ ์ ๋ ๋๋ง์ ์ฌ์ฉ๋ ๊ฐ์ ์กฐ๋ช
๋ชจ๋ธ์ ์ ์ํ์ด์.ย ๊ทธ๋ค์ ๋์ ํ์ง ์๊ตฌ์๋ ๋ถ๊ตฌํ๊ณ , ํ ๋ฒ์ ๋ฐ์ฌ๋ก ์ธํ ๊ฐ์ ์กฐ๋ช
๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๋ ๊ฒ์ด ๋ฐํ์ก๋ต๋๋ค.
๊ฐ์ ๋ผ๋์ค์ํฐ์ ๊ฐ์ ์กฐ๋ช
์ ๋์
ํ ์ฒซ ๋ฒ์งธ ๋
ผ๋ฌธ์
๊ทธ๋ฆผ 1: 2์ฐจ ๊ด์์ ์ํด ๋ฐ์ํ๋ ํ์ฐ ๊ฐ์ ์กฐ๋ช
. ์ด๋ค์ ์์น๋ RSM์ ๊ท ์ผํ ์ํ๋ง์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
์ธํฐ๋ํฐ๋ธ ๊ทธ๋ํฝ์ค์์ Instant Radiosity [Keller 1997]๊ฐ ์์์ด์.ย ์์์ ๊ด์(์: 200๊ฐ)๋ฅผ ๊ด์์์ ํ๋ฅ ์ ์ผ๋ก ์ถ์ ํ์ฃ .ย ๊ด์์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๊ฐ์ ๊ด์์ ๋ฐฐ์นํด์ ๊ฐ์ ์กฐ๋ช
์ ๊ทผ์ฌํด์.ย ์ด ๊ฐ์ ๊ด์์ ๊ธฐ์ฌ๋๋ shadow map๊ณผ ๋์ ๋ฒํผ๋ฅผ ์ฌ์ฉํด์ ๊ณ์ฐํด์.
Ambient occlusion๊ณผ bent normals๋ ๊ฐ์ ์กฐ๋ช
์ ํ๋ด ๋ด๊ธฐ ์ํด ์ง์ญ ์กฐ๋ช
์ ์์ ํ๋ ๊ฐ๋จํ ๊ทผ์ฌ ๋ฐฉ๋ฒ์ด์์ [Landis 2002].ย ์ด ๋ฐฉ๋ฒ์ ์ฝ๊ฐ์ ์ฌ์ ๊ณ์ฐ์ด ํ์ํ์ง๋ง, ๊ฑฐ์ ์ฑ๋ฅ ์ ํ ์์ด ๊ฐ์ ์กฐ๋ช
ํจ๊ณผ๋ฅผ ์ป์ ์ ์๋ต๋๋ค.ย ํ์ง๋ง ๋์ ์ฅ๋ฉด์ ํน๋ณํ ์ฒ๋ฆฌ๊ฐ ํ์ํด์.ย Bunnell [Bunnell 2005]์ ๋์ ์ฅ๋ฉด์ ๋ํด ์ ์ ๋จ์๋ก ambient occlusion์ ๊ณ์ฐํด์.ย ๊ทธ๋ ๋ํ ์ง์์ ์ผ๋ก ๋น์ ๋ฐฉ์ถํ๋ ํ๋ฉด์ ์ํด ๋ฐ์ํ๋ ๊ฐ์ ์กฐ๋ช
๋ ์ธ๊ธํ์ด์.
Reflective Shadow Maps [Dachsbacher and Stamminger 2005]๋ ๊ฐ์ ์กฐ๋ช
์ ์ธํฐ๋ํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์
์ ํฌํจ์ํค๊ธฐ ์ํ ๋ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ด์์.ย ์กฐ๋ช
์ด ํ์ํ ์ฅ๋ฉด์ ๊ฐ ์ง์ ์ ๋ํด, shadow map์ ํฝ์
์งํฉ์ด ๊ฐ์ ๊ด์์ผ๋ก ๊ฐ์ฃผ๋ผ์.ย ์ด๋ค์ ๊ฐ์ ๊ธฐ์ฌ๋๋ ํ๋๊ทธ๋จผํธ ํ๋ก๊ทธ๋จ์ ์ํด ์์ง๋๋ฉฐ, ์ด ๊ฐ์ ๊ด์์ ์ฐจํ๋ ๋ฌด์๋ผ์.ย ์จ๋ฆฌ์ด์ฑ ์๋ ์ด๋ฏธ์ง๋ฅผ ์ป์ผ๋ ค๋ฉด ๊ฝค ๋ง์ ์ํ์ด ํ์ํด์ ๋์ ๊ณ์ฐ ๋น์ฉ์ด ๋ค์ด์.ย ๊ฐ์ ์กฐ๋ช
์ ์ํ ํ๋ฉด ๊ณต๊ฐ ๋ณด๊ฐ ๋จ๊ณ์ ํจ๊ป, ์ค๊ฐ ์ ๋์ ์ฅ๋ฉด์์๋ ์ธํฐ๋ํฐ๋ธ์์ ์ค์๊ฐ ํ๋ ์ ์๋๊ฐ ๊ฐ๋ฅํด์.
์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ์ง์ฐ ์
ฐ์ด๋ฉ ๋จ๊ณ์์ ๊ฐ์ ์กฐ๋ช
์ ๊ณ์ฐํด์.ย Hargreaves [Hargreaves 2004]๋ ์ง์ฐ ์
ฐ์ด๋ฉ์ ๋ํด ์์ธํ ๋
ผ์ํ๊ณ ์ฑ๋ฅ ํ๊ณผ ๊ตฌํ ์ ๋ต์ ์ ๊ณตํด์.
Wyman [Wyman 2005a; Wyman 2005b]์ ๋์ ์ฅ๋ฉด์์ ๋จผ ๊ฑฐ๋ฆฌ์ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์ ๊ธฐํํ์ ์ํ ๊ตด์ ๋ ๋๋ง ๊ธฐ๋ฒ์ ์ ์ํด์.ย Shah ๋ฑ [Shah and Pattanaik 2005]์ ๊ตด์ ๋ฐ ๋ฐ์ฌ ํ๋ฉด์์์ ์นด์ฐ์คํฑ์ ์ค์๊ฐ์ผ๋ก ๋ ๋๋งํ๋ ๋ฐฉ๋ฒ์ shadow-map๋ง์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช
ํด์.
์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ณต์กํ ์กฐ๋ช
์ ํํํ ์ ์๋ ๊ด์ ์งํฉ์ ๋น ๋ฅด๊ฒ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ด ํ์ํด์.ย [Clarberg et al. 2005]์์๋ haar wavelet ๊ธฐ๋ฐ์ ํ๋ฅ ๋ถํฌ์ ๋ํด ์ฐ์ํ ๋ฐฉ๋ฒ์ ์ ์ํ์ด์.ย ๋จผ์ , ๊ด์ ์งํฉ์ ๊ท ์ผํ๊ฒ ๋ถํฌ์์ผ์.ย ๊ทธ๋ฐ ๋ค์, ์ํ๋ ํ๋ฅ ๋ถํฌ์ wavelet ํํ์ ์์์ ์๋๋ก ํ์ํ๋ฉด์, wavelet ๊ณ์์ ๋ฐ๋ผ ๊ด์ ์ํ์ ์ด๋์์ผ์. ์ด๋ ๊ฒ ํ๋ฉด ์ํ ๋ฐ๋๊ฐ ํ๋ฅ ๋ถํฌ์ ๋ง๊ฒ ์กฐ์ ๋์ฃ .ย ์ด ๊ณผ์ ์ ๋ฐ๋ณต์ด ํ์ ์๊ณ , ์ํธ์์ฉ ์ ํ๋ฆฌ์ผ์ด์
์์๋ ์ฌ์ฉํ ๋งํผ ๋น ๋ฅด๋ต๋๋ค.
3 Algorithm
์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ Reflective Shadow Maps (RSMs) [Dachsbacher and Stamminger 2005] ์์ด๋์ด์ ๊ธฐ๋ฐํ๊ณ ์์ด์.ย ํ์ฅ๋ ๊ทธ๋ฆผ์ ๋งต์ ์ฌ์ฉํด์ ์ฒซ ๋ฒ์งธ ๋ฐ์ฌ ๊ฐ์ ๊ด์์ ์์ฑํ์ฃ .
ํ์ง๋ง ์ด๋ฌํ ๊ฐ์ ์กฐ๋ช
์ด ๊ฒฐ์ ๋๋ ๋ฐฉ์๊ณผ ์ด ์กฐ๋ช
์ ๊ธฐ์ฌ๋๋ฅผ ๊ณ์ฐํ๋ ๋ฐฉ์์ ๋ฌ๋ผ์.ย ๊ทธ ๊ฒฐ๊ณผ, ํจ์ฌ ๋ ๊ฒฌ๊ณ ํ๊ณ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ป์ ์ ์์์ด์.ย ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์๋ ๊ทธ๋ฆผ 1์ ๋์ ์์ด์.
๋ค์ ์น์
์์๋ ์ ์๊ณ ๋ฆฌ์ฆ์ ์์ด๋์ด๋ฅผ ์ค๋ช
ํ๊ณ , ์ด ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ป๊ฒ ๊ดํ ์๋ ๊ฐ์ ์กฐ๋ช
์ ์ ์ํ ์ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ๋น ๋ฅธ ์ค์๋ ์ํ๋ง๊ณผ ํจ์จ์ ์ธ splatting์ ์ฌ์ฉํด ์ฑ๋ฅ์ ๋ ํฅ์์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ๋๋ฆด๊ฒ์.ย ๋จผ์ ํ์ฐ ์ฅ๋ฉด์ ๋ํ ์ค๋ช
์ผ๋ก ์์ํ๊ณ , ๊ดํ ์๋ ๊ฐ์ ์กฐ๋ช
์ผ๋ก์ ํ์ฅ์ ๊ฐ๋ฅํ๋ฉฐ ๋์ค์ ์ค๋ช
ํ ๊ฒ์.
3.1ย Reflective Shadow Maps
์ฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฅ๋ฉด์์ ์ฒซ ๋ฒ์งธ ๋ฐ์ฌ๋ก ์ธํ ๊ฐ์ ์กฐ๋ช
์ ๊ฒฐ์ ํ๊ธฐ ์ํด shadow map์ ์ฌ์ฉํด์.ย ๊น์ด ์ ๋ณด๋ง์ผ๋ก๋ ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์, ๊ฐ ํฝ์
์ ์ธ๊ณ ๊ณต๊ฐ ์์น, ํ๋ฉด ๋ฒ์ , ๋ฐ์ฌ๋ ํ๋ญ์ค๋ฅผ ์ถ๊ฐ๋ก ์ ์ฅํด์.ย ์ด ํ์ฅ๋ shadow map์ Reflective Shadow Map๊ณผ ๋์ผํ๊ธฐ ๋๋ฌธ์, ๊ณ์ํด์ Reflective Shadow Map (RSM)์ด๋ผ๊ณ ๋ถ๋ฅผ๊ฒ์.
RSM์ ๊ฐ ํฝ์
์ 2์ฐจ ๊ด์์ผ๋ก ๊ฐ์ฃผํ ์ ์์ด์.ย ๊ฐ์ ์กฐ๋ช
์ ๋ชจ๋ 2์ฐจ ๊ด์์ ์ง์ญ์ ์ธ ์ ๊ด์์ผ๋ก ๊ณ ๋ คํ์ฌ ๊ณ์ฐํด์.ย ์ด ์ ๊ด์๋ค์ ์์ ํ๋ฉด ๊ด์์ ๋ํ๋ด๋ฉฐ, ํ๋ฉด ๋ฒ์ ์ ์ฃผ ๋ฐฉํฅ์ผ๋ก ํ๋ ๋ฐ๊ตฌํ์ด์์.ย ์ด๋ฐ ๊ด์์ ํฝ์
๋ผ์ดํธ๋ผ๊ณ ๋ถ๋ฅด์ฃ .ย ์ธ๊ณ ๊ณต๊ฐ ์์น xp, ๋ฐฉํฅ nโ, ํ๋ญ์ค ฮฆโ๋ฅผ ๊ฐ์ง ํ์ฐ ํฝ์
๋ผ์ดํธ p์ ๊ฒฝ์ฐ, ๋ฐฉํฅ w๋ก ๋ฐฉ์ถ๋๋ ๋ฐฉ์ฌ ๊ฐ๋๋ ์ด๋ ๊ฒ ๊ณ์ฐ๋ผ์.
์ฌ๊ธฐ์ O๋ ๋ด์ ์ ๋ํ๋ด์.ย ํ๋ฉด ๋ฒ์ n์ ๊ฐ์ง ํ๋ฉด ์ x์์ p๋ก ์ธํ ์กฐ์ฌ์ ๋์ ์ด๋ ๊ฒ ๊ณ์ฐ๋ผ์.
์๋ Reflective Shadow Map ์ ๊ทผ๋ฒ์์๋ [Dachsbacher and Stamminger 2005], ํน์ ์ p์ ๋ํ ๊ฐ์ ์กฐ๋ช
์ RSM์์ ์์งํด์.ย ๋ชจ๋ ํฝ์
์์ ์์งํ๋ ๊ฒ์ ๋๋ฌด ๋น์ธ๊ธฐ ๋๋ฌธ์, ์กฐ๋ช
ํ ์ ์ ์์กดํ๋ ๋ถ๋ถ ์งํฉ๋ง ์ฌ์ฉํด์.ย ์ด ๋ถ๋ถ ์งํฉ์ p์ shadow map ์ฃผ๋ณ์ ์ํ๋งํ์ฌ p์ ๊ฐ๊น์ด ํฝ์
์ ์ง์ค๋ผ์.ย ์์ ์์ ๋ง์กฑ์ค๋ฌ์ด ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ๋๋ต 300๊ฐ์ ์ํ์ด ํ์ํด์.ย ๋น ๋ฅธ ๊ทผ์ฌ๋ฅผ ์ํด์๋ ์ง์ฐ ์
ฐ์ด๋ฉ ๊ธฐ์ ๊ณผ ํ๋ฉด ๊ณต๊ฐ ๋ณด๊ฐ์ด ํ์ํด์.ย ์ํ๋ง ํจํด์ด ์ด๋ฏธ์ง ์ ์ฒด์์ ๋ณํ๊ธฐ ๋๋ฌธ์, ์ํ ์๊ฐ ๋๋ฌด ์ ์ผ๋ฉด ๋
ธ์ด์ฆ์ ์ค๋ฌด๋ฌ ์ํฐํฉํธ๊ฐ ๋น ๋ฅด๊ฒ ๋ํ๋์.ย ๋ถํ์ํ ๊ณ ๋น์ฉ ํ๋๊ทธ๋จผํธ ์
ฐ์ด๋ ํจ์ค๋ฅผ ํผํ๊ธฐ ์ํด ์ง์ฐ ์
ฐ์ด๋ฉ์ ์ฌ์ฉํด์.ย ํ๋ฉด ๊ณต๊ฐ ๋ณด๊ฐ ๊ธฐ์ ์ ํตํด ํ๋๊ทธ๋จผํธ ์
ฐ์ด๋ ํจ์ค์ ์๋ฅผ ๋ ์ค์ผ ์ ์์ด์.
๊ทธ๋ฆผ 2: ํ์ฐ ๋ฐ ๊ดํ ํฝ์
์กฐ๋ช
์ ๋ฐฉ์ถ (๊ฐ๊ฐ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ).
3.2 Splatting Indirect Illumination
์ฐ๋ฆฌ์ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์์๋ ํ๊ฐ ๊ณผ์ ์ด ๋ฐ๋๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋ชจ๋ ์ด๋ฏธ์ง ํฝ์
์ ์ํํ๋ฉฐ Reflective Shadow Maps (RSM)์ผ๋ก๋ถํฐ ๊ฐ์ ๊ด์ ์์งํ๋ ๋์ , RSM ํฝ์
์ ํ์ ์งํฉ์ธ pixel lights๋ฅผ ์ ํํ๊ณ screen space์์ splat์ ์ฌ์ฉํ์ฌ ๊ทธ ๋น์ ์ด๋ฏธ์ง ํฝ์
๋ก ๋ถ์ฐ์ํต๋๋ค.
๋ณธ์ง์ ์ผ๋ก, ์ด splatting ์๊ณ ๋ฆฌ์ฆ์ deferred shading ํจ์ค์
๋๋ค. ๋ฐ๋ผ์ ๊ด์ฐฐ์์ ์นด๋ฉ๋ผ์์ ๋ณธ ๊ฐ ํ๋ฉด ํฝ์
์ ๋ํด world space ์์น์ ๋ฒ์ (normal), ๊ทธ๋ฆฌ๊ณ ์ฌ์ง ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ๋ ๋ฒํผ๊ฐ ํ์ํฉ๋๋ค. ์ด๋ค์ ๋ ๋ ํ๊ฒ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ํ
์ค์ฒ๋ก ์ ์ฅ๋๋ฉฐ, ์นด๋ฉ๋ผ๊ฐ ์์ง์ผ ๋๋ง๋ค ์
๋ฐ์ดํธ๋ฉ๋๋ค. ์ต์ข
์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํ ๋, ๊ฐ์ ์กฐ๋ช
์ด ๊ณ์ฐ๋๊ธฐ ์ ์ deferred shading ๋ฒํผ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด์์ผ๋ก๋ถํฐ์ ์ง์ญ ์กฐ๋ช
(local illumination)๊ณผ ๊ทธ๋ฆผ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๊ทธ ๋ค์, ๊ฐ์ ๊ด์ ๊ธฐ์ฌ๋๊ฐ deferred shading ๋ฒํผ ์์์ ์ง์ ๊ณ์ฐ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ๊ฐ์ ๊ด์ ์ง์ ์ ์ธ ์ธ์ ์์ญ์์๋ง ์ ์๋ฏธํ ๊ฐ์ ์กฐ๋ช
์ ์์ฑํฉ๋๋ค. ์ด๋ฅผ ๊ณ ๋ คํ์ฌ, ์ฐ๋ฆฌ๋ ์ ๊ด์(point light)์ ์์น์์ screen space์ ์ฌ๊ฐํ(quadrilateral)์ splatํฉ๋๋ค. splat์ ์ ์๋ฏธํ ๋น์ ๋ฐ์ ์ ์๋ ๋ชจ๋ fragment๋ฅผ ๋ฎ์ ์ ์์ ๋งํผ ์ถฉ๋ถํ ์ปค์ผ ํฉ๋๋ค. ์ด ํฌ๊ธฐ๋ pixel light์ ๊ฐ๋์ ์นด๋ฉ๋ผ๊น์ง์ ๊ฑฐ๋ฆฌ๋ก๋ถํฐ ์ฝ๊ฒ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์ด ๊ณ์ฐ์ ๋ํ ์ธ๋ถ ์ฌํญ๊ณผ ๋ ์ ๋ฐํ ๊ฒฝ๊ณ(tighter bounds)๋ ๋ค์ ์น์
์์ ์ค๋ช
ํฉ๋๋ค.
ํฌํจ๋ ๊ฐ ํฝ์
์ ๋ํด deferred shading ๋ฒํผ๋ก๋ถํฐ ๊ฐ์ ๊ธฐํํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. fragment shader๋ (์ฌ๊ฐํ๊ณผ ์ฐ๊ด๋) ๊ด์ ํ๋ผ๋ฏธํฐ์ ํจ๊ป Eq. 2์ ๋ฐ๋ผ ํ์ ํฝ์
์ ๋ํ pixel light์ ๊ธฐ์ฌ๋๋ฅผ ํ๊ฐํ๊ณ ์ด๋ฅผ ํ๋ ์ ๋ฒํผ์ ๋์ ํฉ๋๋ค. ์ด์ ๊ฐ์ด ์ฐ๋ฆฌ๋ ๊ฐ ๋ณด์กฐ ๊ด์์ ๊ธฐ์ฌ๋๋ฅผ ์ต์ข
์ด๋ฏธ์ง ์์ splatํฉ๋๋ค.
์ฌ๊ฐํ์ ๊ณ์ฐ์ vertex shader์์ ํจ์จ์ ์ผ๋ก ๊ตฌํ๋ ์ ์์ผ๋ฉฐ, ์ฌ๊ธฐ์ ๊ฐ์ ์กฐ๋ช
์ ์ ๋ฐํ๋ ํ๋ฉด์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ RSM์ด ์ํ๋ง๋๊ณ ์ฌ๊ฐํ์ด ๋ฐฐ์น๋ฉ๋๋ค. vertex shader๋ ๊ธฐํ ๊ตฌ์กฐ๋ฅผ ์ฒ๋ฆฌ๋ง ํ๊ณ ์์ฑํ์ง๋ ์์ผ๋ฏ๋ก, ์ฌ๊ฐํ์ ์ํ ์ ์ ๋ฐ์ดํฐ๋ ํ์ดํ๋ผ์ธ์ ํตํด ์ ๋ฌ๋๋ฉฐ ๊ทธ์ ๋ฐ๋ผ ์์ ๋ฉ๋๋ค. RSM์ ์ํ ์ํ๋ง ํจํด์ ํ
์ค์ฒ๋ก ์ ๊ณต๋๋ฉฐ, ๊ฐ ์ฌ๊ฐํ์ ์ด ํ
์ค์ฒ์์ ์ํ๋ง ์์น๋ฅผ ์ ํํ๊ธฐ ์ํ ํ
์ค์ฒ ์ขํ๋ฅผ ๊ฐ์ง๋๋ค.
3.3 Non-diffuse Surfaces
์ฐ๋ฆฌ์ ๋ฐฉ๋ฒ์ caustic๊ณผ glossy ํ๋ฉด์ผ๋ก๋ถํฐ์ ๊ฐ์ ์กฐ๋ช
์ ๋ ๋๋งํ๋๋ก ์ฝ๊ฒ ์กฐ์ ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ๋นํ์ฐ(non-diffuse) ๋ฐฉ์ถ ํน์ฑ์ ๊ฐ์ง pixel lights๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Fig. 2๋ diffuse ๋ฐ glossy pixel lights์ ๋ฐฉ์ถ์ ๋น๊ตํฉ๋๋ค.
Phong ์คํ์ผ์ ํ๋ฉด์ ๋ํด, Phong ์ง์ PPPP๋ฅผ ๊ฐ์ง glossy pixel light pppp์ ๋ฐฉ์ถ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆผ 3: ์ฐ๋ฆฌ๋ 2์ฐจ ๊ด์์ ๊ฒฝ๊ณ ๊ธฐํ๋ฅผ ํ๋ฉด์ ๋ฐ์ฌ ํน์ฑ์ ๋ง์ถฐ ์กฐ์ ํด์.ย ์ผ์ชฝ ์ด๋ฏธ์ง๋ ํ์ฐ ๋ฐ์ฌ๋ฅผ, ์ค๋ฅธ์ชฝ ์ด๋ฏธ์ง๋ ๊ดํ ๋ฐ์ฌ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ฌ๊ธฐ์ rโ๋ p์์์ ์ฃผ ๊ด์ ๋ฐฉํฅ์ธ๋ฐ, ์ด๋ p์ ์
์ฌํ๋ ๋น์ ๋ฐ์ฌ ๋ฐฉํฅ์ด์์.ย rโ๋ ๊ดํ ํฝ์
์กฐ๋ช
๋ง๋ค ๋ฏธ๋ฆฌ ๊ณ์ฐ๋ ์ ์์ผ๋ฉฐ, ๊ทธ๋ฐ ๋ค์ P์ ๊ฐ์ ๊ด์์ ๋งค๊ฐ๋ณ์๊ฐ ๋ฉ๋๋ค.ย ๋ฐฉ์ถ์ p์ ํ๋ฉด์์ ํด๋จํ๋์ด์ผ ํ๋ฉฐ, ๋ค๋ก ๋น์ด ๋ฐฉ์ถ๋์ง ์๋๋ก ํด์ผ ํ๋ค๋ ์ ์ ์ ์ํ์ธ์.
์ฐ๋ฆฌ์ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์์๋ ํ๊ฐ ๊ณผ์ ์ด ์ญ์ ๋ผ์. ๋ชจ๋ ์ด๋ฏธ์ง ํฝ์
์ ๋ฐ๋ณตํ๋ฉฐ RSM์์ ๊ฐ์ ์กฐ๋ช
์ ์์งํ๋ ๋์ ,ย RSM ํฝ์
์ ์ผ๋ถ, ์ฆ ํฝ์
์กฐ๋ช
์ ์ ํํ๊ณ , ์ด๋ค์ ๋น์ ํ๋ฉด ๊ณต๊ฐ์์ ์คํ๋ซ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ํฝ์
์ ๋ถ๋ฐฐํฉ๋๋ค.
์ด๋ฐ ๋น์ ์ฌ์ฉํด์ ๋ ๋๋ง์ ํ๋ฉด, ๊ธ๋ก๋ฒ ์กฐ๋ช
์๊ณ ๋ฆฌ์ฆ์์ ์์ฃผ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ ๋ฒฝ์ ๊ณตํต ๊ฒฝ๊ณ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํด์.ย ์ด๋ ์กฐ๋ช
์ ๋ถ์ ํน์ด์ ์ด ์์ด์ ์์น์ ์ผ๋ก ์ ๋ถํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด์์.ย RSMs[Dachsbacher and Stamminger 2005]์์๋ ํฝ์
๋ผ์ดํธ๋ฅผ ์ฝ๊ฐ ์์ ๋ฒ์ ๋ฐฉํฅ์ผ๋ก ์ด๋์์ผ์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํฌ๊ฒ ์ค์์ด์.ย ์ด ๋ฐฉ๋ฒ์ ํ์ฐ ์กฐ๋ช
์๋ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ
์ด์ง๋ง, ๊ดํ ๋ฐ์ฌ์์๋ ๋ฌธ์ ๊ฐ ๋ ๋๋๋ฌ์ง๊ฒ ๋ํ๋์.ย ์ด๋ฅผ ์ํด, ์ฐ๋ฆฌ๋ ์์ ์ง์ P๋ฅผ P'โ(x) = ๋ก ๋์ฒดํด์. ์ฌ๊ธฐ์ a > 0์ ์ฌ์ฉ์๊ฐ ์ ์ํ๋ ๋งค๊ฐ๋ณ์๋๋๋ค.ย ๊ทธ ๊ฒฐ๊ณผ, ๋์ ๊ฐ๋์ ์ข์ ํน์ด์ ์ด ๊ด์ ๊ทผ์ฒ์์ ๋์ด์ ธ์ ๋ ๋์ ๋๊ฒ ๋ผ์.
๋ณธ์ง์ ์ผ๋ก, ์ด splatting ์๊ณ ๋ฆฌ์ฆ์ ์ง์ฐ ์
ฐ์ด๋ฉ ํจ์ค์์.ย ๊ทธ๋์ ์ฐ๋ฆฌ๋ ํ๋ฉด์ ๊ฐ ํฝ์
์ ๋ํด ๊ด์ฐฐ์์ ์นด๋ฉ๋ผ์์ ๋ณธ ์๋ ๊ณต๊ฐ ์์น์ ๋ฒ์ , ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฃ ๋งค๊ฐ๋ณ์๋ฅผ ํฌํจํ๋ ๋ฒํผ๊ฐ ํ์ํด์.ย ์ด๋ค์ ๋ ๋ ํ๊ฒ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ํ
์ค์ฒ๋ก ์ ์ฅ๋๊ณ , ์นด๋ฉ๋ผ๊ฐ ์์ง์ผ ๋๋ง๋ค ์
๋ฐ์ดํธ๋ผ์.ย ์ต์ข
์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํ ๋, ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ๋ฅผ ์ฌ์ฉํด์ ๊ด์์ผ๋ก๋ถํฐ์ ์ง์ญ ์กฐ๋ช
๊ณผ ๊ทธ๋ฆผ์๋ฅผ ๊ณ์ฐํ ํ, ๊ฐ์ ์กฐ๋ช
์ด ๊ณ์ฐ๋ผ์.
๊ทธ ๋ค์์ ๊ฐ์ ์กฐ๋ช
์ ๊ธฐ์ฌ๋๋ ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ์์ ์ง์ ๊ณ์ฐ๋ผ์.ย ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฐ ๊ฐ์ ์กฐ๋ช
์ ์ง์ ์ ์ธ ์ด์์์๋ง ์๋ฏธ ์๋ ๊ฐ์ ์กฐ๋ช
์ ์์ฑํด์.ย ์ด๋ฅผ ๊ณ ๋ คํ๊ธฐ ์ํด, ํ๋ฉด ๊ณต๊ฐ์์ ์ ๊ด์์ ์์น์ ์ฌ๊ฐํ์ splatํด์.ย ์ด splat์ ์๋ฏธ ์๋ ๋น์ ๋ฐ์ ์ ์๋ ๋ชจ๋ ํ๋๊ทธ๋จผํธ๋ฅผ ๋ฎ์ ๋งํผ ์ปค์ผ ํด์.ย ์ด ํฌ๊ธฐ๋ ํฝ์
๋ผ์ดํธ์ ๊ฐ๋์ ์นด๋ฉ๋ผ์์ ๊ฑฐ๋ฆฌ๋ก๋ถํฐ ์ฝ๊ฒ ๊ณ์ฐํ ์ ์์ด์.ย ์ด ๊ณ์ฐ๊ณผ ๋ ์๊ฒฉํ ๊ฒฝ๊ณ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์ ์น์
์์ ์ค๋ช
๋ผ์.
ํ๋ฉด ๊ณต๊ฐ ์ฟผ๋๋ ๊ทธ ํํ๊ฐ ์ข์์, glossy pixel light๋ฅผ ํํํ๊ธฐ์๋ ๋งค์ฐ ๋นํจ์จ์ ์ด์์.ย ๋์ , ๋ ํ์ดํธํ ๊ฒฝ๊ณ ๊ธฐํํ์ด ํ์ํ๋ต๋๋ค. ๋ค์ ์ธ์
์์ ์ค๋ช
ํ ๊ฒ์.ย ์ด๋ ๊ฒ ํ์ดํธํ ๊ฒฝ๊ณ๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ฐ์ glossy ์กฐ๋ช
์ diffuse ๊ฒฝ์ฐ์ ๋น์ทํ ์๋๋ก ๊ตฌํํ ์ ์์ด์.ย ๋ณดํต glossy pixel light๊ฐ ๋ ๋ง์ด ํ์ํ์ง๋ง, ๊ทธ ์ํฅ ๋ฒ์๋ ๋ ์๊ณ ํฝ์
์ ๋ ์ฐจ์งํ์ฃ .ย ๊ทธ๋ฆผ 4๋ ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ๋ caustics ์์๋ฅผ ๋ณด์ฌ์ค์.
vertex ์์ง์ ๋ ๋ง์ ๋ถ๋ด์ ์ค ์ ์๊ณ , ๋ ํ์ดํธํ bounding volume์ ๋ง๋ค ์ ์์ด์.ย ์ด์์ ์ผ๋ก๋, ์ด ๊ฒฝ๊ณ๋ค์ด world space์์ ๊ณ์ฐ๋๊ณ ๋ ๋๋ง๋๋๋ฐ์, ์ด๋ ๊ฒ ํ๋ฉด early-z ํ
์คํธ๋ฅผ ํ์ฉํด์ fragment shader์ ์คํ์ ์ค์ผ ์ ์๋ต๋๋ค.
๋ชฉํ๋ ์กฐ๋ช
๊ฐ๋๊ฐ ํน์ ์๊ณ๊ฐ ์๋๋ก ๋จ์ด์ง๋ ๊ฐ๋จํ ๊ฒฝ๊ณ ์์ญ์ ๊ณ์ฐํ๋ ๊ฑฐ์์.ย Fig. 3์์ ๋ณผ ์ ์๋ฏ์ด, diffuse pixel light์ ๊ฒฝ์ฐ ์ด ์์ญ์ ๋ฌ๊ฑ ๋ชจ์์ด๊ณ , glossy ํ๋ฉด์ ๊ฒฝ์ฐ Phong lobe์ ๋น์ทํ ๋ชจ์์ด์์.ย ์ด ํ๋ฉด๋ค์ ๊ณต๊ฐ ๊ฐ์ ๋ฅผ ํฌํจํ๋ ์กฐ๋ช
์ iso-surface์ด์ง, ์ถ์ฌ ๋ณต์ฌ์ ๊ทน์ขํ ๊ทธ๋ํ๊ฐ ์๋๋๋๋ค!
์ค์ฉ์ ์ธ ์ด์ ๋ก, ๋ ๊ฒฝ์ฐ ๋ชจ๋์์ ๊ฒฝ๊ณ๋ก ํ์์ฒด๋ฅผ ์ฌ์ฉํด์.ย ๊ฐ pixel light์ ๋ํด ํ์์ฒด์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ณ์ฐํ๊ณ , ์ด์ ๋ง์ถฐ ๊ตฌํ ์ผ๊ฐํ ๋ฉ์ฌ(์ผ๊ฐํ ์๊ฐ ์ ์)๋ฅผ ๋ณํํฉ๋๋ค.ย ๋ถ๋ก์์๋ Phong ์ง์์ ๋ฐ๋ผ diffuse์ Phong ์ ์ฌ ํ๋ฉด์ ๋ํด ํ์์ฒด์ ๋งค๊ฐ๋ณ์๋ฅผ ๋น ๋ฅด๊ฒ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํด์.
3.4 Tighter Bounding Geometry
๊ฐ๊ฐ์ ํฝ์
์ ๋ํด, ์ฐ๋ฆฌ๋ deferred shading ๋ฒํผ์์ ๋ณด์ด๋ ๊ธฐํํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์.ย ๊ทธ๋ฆฌ๊ณ ๊ด์ ํ๋ผ๋ฏธํฐ(์ฌ๊ฐํ๊ณผ ์ฐ๊ด๋)๋ฅผ ํจ๊ป ์ฌ์ฉํด์, fragment shader๊ฐ Eq. 2์ ๋ฐ๋ผ ํฝ์
light์ ๊ธฐ์ฌ๋๋ฅผ ํ๊ฐํ๊ณ ์ด๋ฅผ ํ๋ ์ ๋ฒํผ์ ๋์ ์์ผ์.ย ์ด๋ ๊ฒ ํด์ ๊ฐ 2์ฐจ ๊ด์์ ๊ธฐ์ฌ๋๋ฅผ ์ต์ข
์ด๋ฏธ์ง์ splatํ๋ ๊ฑฐ์ฃ .
๊ทธ๋ฆผ 4: ๊ธ์ ๋ฐ์ง์ ๋๋ฌด ํ ์์ caustics๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ ๋๋งํ ๋ชจ์ต์ด์์. ์ด๋น 95 ํ๋ ์ ์ด์์ด๊ณ , ๊ตด์ ์ ๋ฆฌ ํธ์ํฐ(๋ค์ชฝ ํ๋ฉด์์๋ง ๊ตด์ )๋ ์ด๋น 150 ํ๋ ์์ผ๋ก ๋ ๋๋งํ์ด์.
์ฐ๋ฆฌ ๋ฐฉ๋ฒ์์๋ ์ฑ๋ฅ ๋ณ๋ชฉ์ด fragment shader ์คํ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ด์์.ย ํ๋ฉด ๊ณต๊ฐ์์ ์ถ์ ๋ง์ถ ๋ฐ์ค๋ ๋นํจ์จ์ ์ธ ํํ์ด๊ธฐ ๋๋ฌธ์, vertex ์ฒ๋ฆฌ ๊ณผ์ ์ด ์ค์ํ ์์๊ฐ ๋์ง ์๋ ํ, ์ฐ๋ฆฌ๋
Phong๊ณผ ์ ์ฌํ ํ๋ฉด์์๋, Phong ์ง์ P๋ฅผ ๊ฐ์ง ๊ดํ ์๋ ํฝ์
์กฐ๋ช
p์ ๋ฐฉ์ถ์ด ์ด๋ฃจ์ด์ ธ์.
์ฌ๊ฐํ์ ๊ณ์ฐ์ vertex shader์์ ํจ์จ์ ์ผ๋ก ๊ตฌํํ ์ ์์ด์. ์ฌ๊ธฐ์ ๊ฐ์ ์กฐ๋ช
์ ์ ๋ฐํ๋ ํ๋ฉด ์ ๋ณด๋ฅผ ์ ์ฅํ๋ RSM์ ์ํ๋งํ๊ณ , ์ฌ๊ฐํ์ ์์น๋ฅผ ์ ํ๊ฑฐ๋ ์.ย vertex shader๋ ๊ธฐํํ์ ์ฒ๋ฆฌ๋ฅผ ํ ๋ฟ ๊ธฐํํ์ ์์ฑํ์ง ์๊ธฐ ๋๋ฌธ์, ์ฌ๊ฐํ์ vertex ๋ฐ์ดํฐ๋ ํ์ดํ๋ผ์ธ์ ํตํด ์ ๋ฌ๋๊ณ ์ ์ ํ ์์ ๋ฉ๋๋ค.ย RSM์ ์ํ๋ง ํจํด์ ํ
์ค์ฒ๋ก ์ ๊ณต๋๋ฉฐ, ๊ฐ ์ฌ๊ฐํ์ ์ด ํ
์ค์ฒ์์ ์ํ๋ง ์์น๋ฅผ ์ ํํ๊ธฐ ์ํ ํ
์ค์ฒ ์ขํ๋ฅผ ๊ฐ์ง๊ณ ์์ด์.
๊ทธ๋ฆผ 5: ์น์
3.5์์ ์ค๋ช
ํ ๊ณ์ธต์ ์ค์๋ ์ํ๋ง์ ๋จ์ผ ๋ ๋ฒจ์ ๋ํ ์ค์๋ ์๊ณก์
๋๋ค.
์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ดํ ์๋ ํ๋ฉด์์์ ์นด์ฐ์คํฑ์ค์ ๊ฐ์ ์กฐ๋ช
์ ์ฝ๊ฒ ๋ ๋๋งํ ์ ์๋๋ก ์กฐ์ ํ ์ ์์ด์.ย ์ด๋ฅผ ์ํด์๋ ๋นํ์ฐ ๋ฐฉ์ถ ํน์ฑ์ ๊ฐ์ง ํฝ์
์กฐ๋ช
์ ์ฌ์ฉํด์ผ ํด์.ย ๊ทธ๋ฆผ 2๋ ํ์ฐ ํฝ์
์กฐ๋ช
๊ณผ ๊ดํ ํฝ์
์กฐ๋ช
์ ๋ฐฉ์ถ์ ๋น๊ตํ๊ณ ์์ด์.
3.5 Importance Sampling
RSM์ ์ค์ flux ๋ถํฌ์ ๋ง์ถฐ ์ํ๋ง ํจํด์ ์กฐ์ ํ๊ธฐ ์ํด, Clarberg ๋ฑ [Clarberg et al. 2005]์ด ์ ์ํ ๋๋ก ๊ณ์ธต์ ์๊ณก์ ํตํด importance sampling์ ์ํํด์.ย ์ฐ์ , ์ฅ๋ฉด์ด ์ค์ง diffuse ํ๋ฉด์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๊ณ , ๋ ๋ง์ ์ํ์ด ๋ ๋์ flux๋ฅผ ๊ฐ์ง ์ฅ๋ฉด์ ๋ถ๋ถ์ ๋ฐฐ์น๋๋๋ก ํด์. ์ฆ, ํ๋ฅ ๋ถํฌ๋ก ์ ๊ทํ๋ flux๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ณ์ธต์ ์ํ์ ๊ฐ ๋จ๊ณ๋ ํ๋ญ์ค ๋ถํฌ์ ๋ฐ๋ผ ์์ง ๋ฐ ์ํ ์ํ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ผ์.ย ์ฐ๋ฆฌ๋ ๊ท ์ผํ๊ฒ ๋ถํฌ๋ ์ํ ์ ์งํฉ sแตข = (xแตข,yแตข)โบ, xแตข,yแตข โ [0;1)์์ ์์ํ๋ฉฐ, ์ํ ๊ฐ์ค์น wแตข = 1์ด์์.ย ๊ทธ๋ฆผ 5๋ ๊ฐ์ฅ ๊ฑฐ์น ๋จ๊ณ์ ๋ฐ๋ฅธ ์ํ์ ๋ณด์ฌ์ค์. ์ด๊ธฐ ์ํ ์งํฉ(๊ทธ๋ฆผ 5b)์ ์๋จ๊ณผ ํ๋จ์ ํ๊ท ํ๋ญ์ค(ฮฆโโโ๊ณผ ฮฆbottom, ๊ทธ๋ฆผ 5a)์ ๋ฐ๋ผ ๋ ๊ฐ์ ํ์ผ๋ก ๋๋์ด์.ย ์ํ ์ ๋ค์ ๋ถ๋ฆฌ ๊ฒฝ๊ณ๊ฐ ์ํ ์์ญ์ ์ ๋ฐ์ผ๋ก ๋๋๋๋ก ์ค์ผ์ผ๋ง๋ผ์(๊ทธ๋ฆผ 5c).ย ์๋ก์ด ์ํ ์ ์ y'แตข๋ ๋ค์๊ณผ ๊ฐ์ด ์ป์ด์ ธ์.
์ํ๋ง ๋ฐ๋์ ๋ณํ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด, ์ํ ๊ฐ์ค์น๋ ๋ชจ๋ ์ํ์ ์ด ๊ฐ์ค์น๊ฐ ๋์ผํ๊ฒ ์ ์ง๋๋๋ก ๊ณ์ฐ๋ผ์.
์์ง ์ํ ํ, ์๋จ๊ณผ ํ๋จ ์ ๋ฐ์ ์ ์ฌํ๊ฒ ์ํ๋์ด ๊ฐ ์ํ์ ๋ํด x'แตข๋ฅผ ์ป์ด์(๊ทธ๋ฆผ 5d).ย ์ํ๋ ์ํ๋ง ํจํด(๊ทธ๋ฆผ 5e)์ RSM์ ์ํ๋งํ๊ณ 2์ฐจ ๊ด์์ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ผ์.ย RSM์์ ๊ฐ์ ธ์จ ํ๋ญ์ค๋ ์ฅ๋ฉด์ ๊ธฐ์ฌํ๊ธฐ ์ ์ ์ํ์ ๊ฐ์ค์น์ ๊ณฑํด์ ธ์.ย ์ฐ๋ฆฌ๋ ์ด ์ํ ์ ๋ต์ ๋ฐฉ๋ฒ A๋ผ๊ณ ๋ถ๋ฅด์ฃ .ย ๋ํ, ๋ ๋จ์ํ๊ณ ๋น ๋ฅธ ๋ณํ(๋ฐฉ๋ฒ B)๋ ์คํํ์ด์. ์ด ๋ฐฉ๋ฒ์ ์๋จ๊ณผ ํ๋จ ์ ๋ฐ์ ๋
๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ์ง ์๊ณ ๋ชจ๋ ์ํ์ ๋ํด ์ํ ์ํ์ ์ํํด์.ย ์ํ ์ํ์ ๊ณ์ธต์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ์์ง ๋ฐ ์ํ ๋จ๊ณ ํ์ ๋ค ๊ฐ์ ์ฌ๋ถ๋ฉด์ผ๋ก ์ฌ๊ท์ ์ผ๋ก ์งํ๋ผ์.
์ค์ ์ํ๋ง์ ๋นํ์ฐ ํ๋ฉด์ด ์๋ ์ฅ๋ฉด์์ ํนํ ์ค์ํด์. ์ด๋ฐ ํ๋ฉด๋ค์ ์ ์ญ ์กฐ๋ช
ํจ๊ณผ๋ฅผ ๋ ์ ํํ๊ฒ ๊ทผ์ฌํ๊ธฐ ์ํด ๋ ๋ง์ ์ํ์ด ํ์ํ๊ฑฐ๋ ์.ย ์ฐ๋ฆฌ๋ ํ๋ญ์ค๋ฟ๋ง ์๋๋ผ ํ๋ญ์ค์ BRDF์ ์ต๋๊ฐ์ ๊ณฑ์ผ๋ก ์ป์ ํ๋ฅ ๋ถํฌ์ ๋ฐ๋ผ ์ค์ ์ํ๋ง์ ์ํํ ๊ฒ์ ์ ์ํด์.ย ์๋์ง๋ฅผ ๋ณด์กดํ๋ Phong ์กฐ๋ช
๋ชจ๋ธ์ ์ฌ์ฉํ ๋, ๊ทธ ์ ๊ทํ๋ BRDF์ ์ต๋๊ฐ์ Phong ์ง์ P๋๋๋ค.
๋ ๋ค๋ฅธ ๊ด์ฐฐ์ ํตํด ์ค์๋ ์ํ๋ง์ ๋ํ ์ถ๊ฐ ๊ธฐ์ค์ ์ ์ ์์ด์. ๋ง์ ์ปดํจํฐ ๊ฒ์๊ณผ ์ํ ์ ์์์ ์ฌ์ฉ๋๋ ambient occlusion ํญ๋ชฉ O๋ ํ๋ฉด ์ง์ ์ด ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ํ๊ฒฝ ๋น์ ๋น์จ์ด์์.ย ์ด๋ ํ๋ฉด ์ง์ ์์ ๋ฐ๊ตฌ์ ๊ด์ ์ ์๊ณ , ๋ค๋ฅธ ํ๋ฉด๊ณผ ๊ต์ฐจํ์ง ์๋ ๊ด์ ๊ณผ ์ ์ฒด ๊ด์ ์์ ๋น์จ์ ๊ณ์ฐํจ์ผ๋ก์จ ์ด๋ฃจ์ด์ ธ์.ย ๋ณดํต ์ด ํญ๋ชฉ์ ๊ณ์ฐํ ๋๋ ๊ทผ์ฒ์ ์๋ ์ฐจํ๋ฌผ๋ง ๊ณ ๋ คํด์.ย ์ฆ, ambient occlusion ํญ๋ชฉ์ ํน์ ํ๋ฉด ์ง์ ๊ทผ์ฒ์ ๋ค๋ฅธ ํ๋ฉด์ด ์๋์ง ์ฌ๋ถ๋ฅผ ์๋ ค์ค์.ย ๋ง์ฝ ๋ค๋ฅธ ํ๋ฉด์ด ๊ฐ๊น์ด ์๋ค๋ฉด, ๊ทธ๊ณณ์ ์์นํ 2์ฐจ ๊ด์์ ์ฅ๋ฉด์ ๊ฑฐ์ ์ํฅ์ ๋ฏธ์น์ง ์์์.
์์ ์ธ๊ธํ ํด๋ฆฌ์คํฑ์ ์ค์๋ ์๊ณก ์ ๊ณ ๋ คํ๊ธฐ ์ํด, ์ฐ๋ฆฌ๋ ์ 4์ ํ๋ญ์ค๋ฅผ ํ๋ฅ ๋ก ๋์ฒดํด์: ัั = (1 P.ย ์ด ํญ๋ชฉ์ ์กฐ๋ช
๋ทฐ์ ์ ์ฅํ๋ ํด๋น ํ
์ค์ฒ๋ ์ค์๋ ์ํ๋ง ๋ฒํผ๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ์ค์๋ ์ํ๋ง์ ์ํด RSM ํ๋ญ์ค ๋ฒํผ๋ฅผ ๋์ฒดํด์.
3.6 Fast Rendering with Ambient Occlusion
์์์ ์ค๋ช
ํ ์ค์๋ ์๊ณก ๋ฐฉ๋ฒ์ ์คํฌํธ๋ผ์ดํธ์ ์ฌ์ฉ๋๋ 2์ฐจ์ ๊ทธ๋ฆผ์ ๋งต์ ์๋ฒฝํ๊ฒ ์๋ํด์.ย ์ ๋ฐฉํฅ์ฑ ์กฐ๋ช
์๋ ๋๋ถ๋ถ ํ๋ธ ๊ทธ๋ฆผ์ ๋งต์ด๋ ์ด์ค ํฌ๋ฌผ๋ฉด ๊ทธ๋ฆผ์ ๋งต์ด ์ฌ์ฉ๋ผ์.ย ๊ฐ ํ๋ธ ๋ฉด์ด๋ ํฌ๋ฌผ๋ฉด ๋งต์ ๋ํ ๊ฐ๋ณ ์ค์๋ ์ํ๋ง์ ์๊ฐํ ์ ์๊ฑฐ๋, ์ํ์ ํ์ ํ
์ค์ฒ์ ๋ถ๋ฐฐํ๊ธฐ ์ํ ์ด๊ธฐ ์ฌ์ ์๊ณก ๋จ๊ณ๋ฅผ ์ํํ ์ ์์ง๋ง, ์ด๋ ํญ์ ์ฑ๋ฅ ์ธก๋ฉด์์ ์ค์ํด์.ย ๊ธฐํํ์ ์ฒ๋ฆฌ, ์ฆ ๊ด์ ์๊ฐ ์๋๋ผ ํ๋๊ทธ๋จผํธ ์ฒ๋ฆฌ๊ฐ ๋ณ๋ชฉ์ด๋ผ๋ ์ ์ ์ผ๋์ ๋๊ณ , ์ฐ๋ฆฌ๋ ํ์ฐ ํ๋ฉด์ ์ ์๋ํ๋ ๋ ๋ค๋ฅธ ์ ์ฐจ๋ฅผ ์ ์ํด์ (์คํฌํธ๋ผ์ดํธ์ ํฌ์ธํธ ๋ผ์ดํธ ๊ฐ์ ๋ชจ๋ ์ ํ์ 1์ฐจ ๊ด์์ ๋ํด): ์ฅ๋ฉด์ ์ ๊ท ์ํ๋ง์ ๊ฐ์ ํ๋ฉด์.
๊ทธ๋ฆผ 6: ์ฐ๋ฆฌ ๋ฐฉ๋ฒ(์ผ์ชฝ)๊ณผ Instant Radiosity(๋ ์ด ํธ๋ ์ด์์ ํตํฉ๋)์ ๋น๊ต์
๋๋ค.ย ํ์๋ ๋ถ๋๋ฌ์ด ๊ทธ๋ฆผ์๋ฅผ ์์ฑํ๊ณ ๊ฐ์ ์กฐ๋ช
์ ๋ํ ๊ฐ๋ฆผ ์ฒ๋ฆฌ๋ฅผ ํ์ง๋ง, ๊ฒฐ๊ณผ๋ ๋น์ทํด์.ย ๋ ์ด๋ฏธ์ง ๋ชจ๋ quasi-random walk๋ก ์์ฑ๋ 1000๊ฐ์ ๊ฐ์ ๊ด์์ ์ฌ์ฉํ์ด์.
๊ทธ๋ฆผ์ ๋งต ํ
์ค์ฒ์์๋ ๊ทธ๋ฆผ์ ๋งต์์ ๊ด์์ ๊ท ์ผํ๊ฒ ๋ถํฌ์ํค๊ณ , ํ๋ญ์ค๋ฅผ ambient occlusion ํญ์ผ๋ก ์กฐ์ ํด์.ย ์ด๋ ๊ฒ ํ๋ฉด ์ค์ํ์ง ์์ 2์ฐจ ๊ด์๋ค์ด ์์์ ธ์ ์ฒ๋ฆฌ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ ์ ์ฝํ ์ ์๋ต๋๋ค.ย ์ด ๋ฐฉ๋ฒ์ ๊ฒฐ๊ณผ๋ ๊ทธ๋ฆผ 13๊ณผ ํ 3์ ๋์ ์์ด์.
3.7ย RSM ์์ด ๊ฐ์ ์กฐ๋ช
์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ 2์ฐจ ๊ด์์ ๊ฒฐ์ ํ๋ ๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋ Reflective Shadow Maps์ ์์กดํ์ง ์์์.ย ๋ง์ ๊ฒ์์ ์ผ๋ฐ์ ์ธ ์ํฉ, ์๋ฅผ ๋ค์ด ์ค๋ด ๊ฒ์์์๋ ๊ณต๊ฐ ๋ถํ ํธ๋ฆฌ๊ฐ ๊ธฐํ ๊ตฌ์กฐ์ ํจ๊ป ์ ์ฅ๋ผ์.ย ์ฌ์ค ์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์ถฉ๋ ๊ฐ์ง์ ์ฌ์ฉ๋์ง๋ง, ๊ด์์์ ์ฅ๋ฉด ๊ธฐํ ๊ตฌ์กฐ์ ๊ต์ฐจํ๋ ๋ฐ๋ ์ฌ์ฉํ ์ ์์ด์.ย ๊ธฐ๋ณธ ๊ด์ ์ด๋ Instant Radiosity์ฒ๋ผ quasi-random walk๋ฅผ ๊ณ์ฐํ ์ ์๊ณ , RSM์ ๊ณ์ฐํ์ง ์๊ณ ๋ ์ฅ๋ฉด์ ๊ฐ์ ์กฐ๋ช
์ ์ถ๊ฐํ ์ ์๋ต๋๋ค.ย ๊ทธ๋ฆผ 6์ Instant Radiosity๋ก ๋ ๋๋งํ Cornell Box๋ฅผ ๋ณด์ฌ์ค์.
4 Implementation
์ฐ๋ฆฌ๋ Direct3D9์ High-Level Shader Language, ๊ทธ๋ฆฌ๊ณ Vertex Shader 3.0 ํ๋กํ์ ์ง์ํ๋ ํ๋ก๊ทธ๋๋จธ๋ธ ๊ทธ๋ํฝ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํด ์ด ๋ฐฉ๋ฒ์ ๊ตฌํํ์ด์.ย RSM์์ 2์ฐจ ๊ด์์ ์์น, ๋ฐฉํฅ, ํ๋ญ์ค๋ฅผ ์ฝ์ด๋ค์ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.ย ์ถ๊ฐ์ ์ธ ๋ ๋ ํจ์ค์ ์์ vertex-textures๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ํ๋กํ์ ์ฐํํ๊ณ , ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ตฌํ ๊ทธ๋ํฝ ํ๋์จ์ด์ ํจ๊ป ์ฌ์ฉํ ์ ์์ด์.ย Instant Radiosity ์ ๊ทผ๋ฒ์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋น์ฐํ RSM์ด ํ์ ์๊ณ , ๊ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ ๋ฒํ
์ค ๋ฐฐ์ด๋ก ํ๋์จ์ด์ ์ ๋ฌํ ์ ์๋ต๋๋ค.
์ต์ข
์ด๋ฏธ์ง๋ฅผ ์ป๊ธฐ ์ํด์๋ ์ฌ๋ฌ ๋ฒ์ ํจ์ค๊ฐ ํ์ํด์.ย RSMs๋ฅผ ์ฌ์ฉํ ๋, ์ฒซ ๋ฒ์งธ ํจ์ค์ ์์
์ ๊ด์์์ ๋ณธ ์ฅ๋ฉด์ ๋ ๋๋งํ๊ณ , ๋ณด์ด๋ ํ๋ฉด์ ์๋ ๊ณต๊ฐ ์์น, ๋
ธ๋ฉ, ๋ฐ์ฌ๋ ํ๋ญ์ค๋ฅผ ์ ์ฅํ๋ ๊ฑฐ์์.ย ์๋ RSM ๊ตฌํ์ฒ๋ผ, ๊ฐ์ ์กฐ๋ช
์ ๊น๋นก์์ ํผํ๊ธฐ ์ํด ํํฐ๋ง๋ ํ
์ค์ฒ ์กฐํ๋ฅผ ์ฌ์ฉํด์ ํ๋ญ์ค๋ฅผ ๋ ๋๋งํด์.ย ๋นํ์ฐ ํ๋ฉด์ ์ฌ์ฉํ ๋๋ ์ค์ ์ํ๋ง์ ์ํด Phong ๋ชจ๋ธ์ ์ง์๋ ์ ์ฅํด์.ย ๋ฒํ
์ค ์ฒ๋ฆฌ ์ค์ RSM ํ
์ค์ฒ๋ฅผ ์ฝ์ผ๋ ค๋ฉด, ํ๋ ํ๋์จ์ด๋ ํ
์
๋น 32๋นํธ ํ๋กํธ 4์ค์ฒด์ ๋ด๋ถ ํฌ๋งท์ ์๊ตฌํด์.
๋ค์ ๋จ๊ณ๋ ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ๋ฅผ ๋ง๋๋ ๊ฑฐ์์.ย ์ด๋ฅผ ์ํด ์นด๋ฉ๋ผ ๋ทฐ๋ก ์ฅ๋ฉด์ ๋ ๋๋งํด์ ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ ์ ์ ํ
์ค์ฒ์ ์ ์ฅํด์.ย ์๋ ๊ณต๊ฐ ์์น๋ ๊ด์๊น์ง์ ๊ฑฐ๋ฆฌ์ ํจ๊ป ์ ์ฅ๋๋๋ฐ, ์ด๋ ๊ทธ๋ฆผ์ ํ
์คํธ๋ฅผ ์ํด ํ์ํด์.
3+1๊ฐ์ 16๋นํธ ํ๋กํธ๋ก ์ ์ฅ๋์ฃ .ย ํ๋ฉด ๋
ธ๋ฉ๊ณผ ํ๋ผ๋ฏธํฐ๋ 4x8๋นํธ ํ
์ค์ฒ๋ก ํํ๋ผ์.ย ์ด ๋์ ํ
์ค์ฒ๋ค์ ๋ทฐ์ ์์กด์ ์ด์ด์, ๊ด์์ด๋ ์นด๋ฉ๋ผ๊ฐ ์์ง์ผ ๋๋ง๋ค ์
๋ฐ์ดํธํด์ผ ํด์.
๊ฐ์ ์กฐ๋ช
์ ๋ ๋๋งํ๊ธฐ ์ํด, ๋ฏธ๋ฆฌ ๊ณ์ฐ๋ ๊ท ์ผ ์ํ๋ง ํจํด์ ์์์ผ๋ก ์ธ์ฝ๋ฉํ RGB ์ผ์ค์ฒด๋ก ์ ์ฅํ๋ ํ
์ค์ฒ๋ฅผ ์ค๋นํด์.ย ์ค์ ์ํ๋ง ๋จ๊ณ๊ฐ ์ฌ์ฉ๋๋ค๋ฉด, ์ด ์ํ๋ง ์์น์ RSM ํ๋ญ์ค ๋ฒํผ(๋๋ ์ค์ ์ํ๋ง ๋ฒํผ)์ mip-mappable ๋ฒ์ ์ ์
๋ ฅ์ผ๋ก ๋ฐ์์ ์๋ก์ด ์ํ๋ง ์์น๋ฅผ ๊ณ์ฐํ๊ณ ๋ค๋ฅธ ํ
์ค์ฒ์ ์ถ๋ ฅํด์.ย ์ด ์์
์ ๋จ์ผ ์ฌ๊ฐํ์ ๋ ๋๋งํ๊ณ , ๊ฐ ์ํ๋ง์ ๊ฐ๋ณ์ ์ผ๋ก ์๊ณกํ๋ ํ๋๊ทธ๋จผํธ ์
ฐ์ด๋๋ฅผ ์ ์ฉํด์ ํ ์ ์์ด์.ย mip-mappable ํ๋ญ์ค ๋๋ ์ค์ ์ํ๋ง ๋ฒํผ๋ ๊ฐ๊ฐ 32๋นํธ ๋ถ๋ ์์์ ํ
์ค์ฒ์์ ๋ง๋ค์ด์ผ ํด์. ํ์ฌ ํ๋์จ์ด๋ ์ด๋ฌํ ํ
์ค์ฒ์ ๋ํ ์๋ mip-map ์์ฑ์ ์ง์ํ์ง ์๊ฑฐ๋ ์.
๋ณด์กฐ ๊ด์์ ๊ธฐ์ฌ๋ฅผ ๋ ๋๋งํ๊ธฐ ์ํด, ๊ตฌํ ๋ฉ์ฌ๋ฅผ ๊ทธ๋ํฝ ํ๋์จ์ด๋ก ๋ณด๋
๋๋ค. ์ด๋ ์ํ๋ง ์์น๊ฐ ์์์ ์ธ๊ธํ ํ
์ค์ฒ์์ ๋ฐ๊ฒฌ๋๋ ํ
์ค์ฒ ์ขํ๋ ํจ๊ป ๋ณด๋
๋๋ค.ย ๊ฐ ๋ฉ์ฌ์ ์ ์ ์์ vertex shader๋ ์ํ๋ง ์์น๋ฅผ ์ฝ๊ณ , RSM์์ ๊ด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.ย ๊ทธ๋ฐ ๋ค์ ์ ์ ๊ณต๊ฐ์ ๊ณ์ฐํ๊ณ ๋ฐ์ฌ ํน์ฑ์ ํ์ํ ๊ทผ์ฌ๋ฅผ ๊ณ์ฐํด์.ย ์ดํ ์ ์ ์ ์๋ ๊ณต๊ฐ์ผ๋ก ๋ณํ๋ฉ๋๋ค.ย fragment shader๋ ๊ฐ ํฝ์
์ ๋ํ ๊ธฐ์ฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค.ย ๋ชจ๋ ๊ด์์ผ๋ก๋ถํฐ ํ๋ฉด ์ง์ ์ ๋ํ ๊ธฐ์ฌ๋ฅผ ๊ณ์ฐํ๊ณ ๋์ ํ๋ค๋ ์ ์ ์ ์ํ์ธ์.ย ๋น์ ๋ฐ๋ ํ๋ฉด ์์ฒด๋ diffuse๋ก ๊ฐ์ ํ๊ณ , ๋ง์ง๋ง ๋จ๊ณ์์ ํ๋ฉด์ ๋งค๊ฐ๋ณ์๋ฅผ ๋์ ๋ ๊ธฐ์ฌ์ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ ๋ ๋น์ ํ๋ฉด์ diffuse ์์๊ณผ ๊ณฑํ๋ ์์ด์ฃ .ย ๋ฐ๊ตฌํ ๋ฉ์ฌ์ ์ํ ์์น ํ
์ค์ฒ์ ๋ํ ํ
์ค์ฒ ์ขํ์ ์ ์ถ์ ์ธ์คํด์ฑ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.ย ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , ์ฐ๋ฆฌ๋ ํ
์ค์ฒ ์ขํ๋ง ๋ค๋ฅธ ์ค๋ณต๋ ๋ฉ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ์ ์ธก์ ํ๋๋ฐ, ๊ฑฐ์ ๋์ผํ ์๊ฐ์ ์ป์์ต๋๋ค.
5 Results and Comparison
์ฐ๋ฆฌ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ ๋ค์ํ ์ํฉ, ํนํ ๊ฒ์์์ ํํ ๋ณผ ์ ์๋ ์ํฉ์์ ํ
์คํธํด ๋ดค์ด์.ย ์ด ์น์
์์ ์ ๊ณต๋๋ ์๊ฐ ์ธก์ ์ 350 MHz ํด๋ญ ์๋์ 16๊ฐ์ ์
ฐ์ด๋ ํ์ดํ๋ผ์ธ์ ๊ฐ์ง GeForce 6800 GT ๊ทธ๋ํฝ ๋ณด๋๋ฅผ ์ฌ์ฉํ์ด์.ย ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ชจ๋ ๊ณ์ฐ์ GPU์์ ์ํํ๊ธฐ ๋๋ฌธ์ CPU๋ ๋ ๋๋ง ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น์ง ์์์.ย ๋ณ๋๋ก ์ธ๊ธํ์ง ์๋ ํ, ๋ชจ๋ ์ด๋ฏธ์ง๋ 512x512 ํด์๋๋ก ๋ ๋๋ง๋์์ต๋๋ค.ย ์คํ ๊ฒฐ๊ณผ, ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์ฌ์ฉ๋ ๊ทธ๋ํฝ ํ๋์จ์ด์ ๋ฐ๋ผ fragment ์ฒ๋ฆฌ ๋๋ (๋ ์์ฃผ) ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ ์ค ํ๋์์ต๋๋ค.ย ํ์์ ์ด์ ๋ก, ์ฐ๋ฆฌ๋ ๊ฐ์ ๊ด์์ ๊ธฐ์ฌ๋ฅผ ๋์ ํ๊ณ ์ด๋ฅผ ์ ์ฉํฉ๋๋ค.
ํ 1: ์นด์ฐ์คํฑ ๋ง ๋ ๋๋ง ์ฑ๋ฅ ๋ถ์ (๊ทธ๋ฆผ 4, ์ผ์ชฝ ์ฐธ์กฐ).ย Importance sampling(3๋จ๊ณ, ๋ฐฉ๋ฒ B)์ ์ฌ์ฉํ์ฌ 4096๊ฐ์ ๋ ๋๋ง๋ 2์ฐจ ๊ด์์ ์ฒ๋ฆฌํ์ผ๋ฉฐ, ์ด๋ฏธ์ง ํฌ๊ธฐ๋ 512ยฒ์
๋๋ค.ย '์ ์ ์นด๋ฉ๋ผ'๊ฐ ์ฒซ ๋ฒ์งธ ์ต์
๋ณด๋ค ๋๋ฆฐ ์ด์ ๋ ๊น์ด ๋ฒํผ ํ
์คํธ๋ก ๊ฐ์ ์กฐ๋ช
์ ์คํ๋ํ
์ค์ ์กฐ๊ฐ์ด ๋ฒ๋ ค์ง์ง ์๊ธฐ ๋๋ฌธ์ด์์.ย ์ด ์์ ์ค์ ์์๋ ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ, ์ฆ ๋์ ์นด๋ฉ๋ผ๊ฐ ์
๋ฐ์ดํธ๋ ๋๋ง ๊น์ด ๋ฒํผ๊ฐ ์ ํจํฉ๋๋ค.
๊ทธ๋ฆผ 7: Sec. 3.5์ ์ค๋ช
๋ ๋๋ก ัั = ฮฆ (1 - 0) n์ ๋ฐ๋ฅธ Importance sampling.ย ์ธ ๊ฐ ์ด์์ ๋ ๋ฒจ์ด ์ข์ ์ํ๋ง์ ์ ๊ณตํ๋ฉฐ, ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ๋น์ทํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ต์ข
๋ ๋ ํจ์ค์์์ ํ๋ฉด ์์.ย ๊ทธ๋ฆผ 11์ ๊ด์์ ์ค์ํ ๊ธฐ์ฌ๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํ ๋ค๋ฅธ ์ปท์คํ ๊ฐ, ์ฆ ๋ค๋ฅธ ๊ฒฝ๊ณ๊ฐ ์ด๋ฏธ์ง ํ์ง๊ณผ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ๋ณด์ฌ์ค๋๋ค.ย ํฐ ๊ฐ์ ๋ ์์ ๊ฒฝ๊ณ ๋ณผ๋ฅจ์ ์ ๋ํ์ฌ ์กฐ๊ฐ ์
ฐ์ด๋ ์คํ๊ณผ ๋ฉ๋ชจ๋ฆฌ ํธ๋ํฝ์ ์ค์
๋๋ค.ย ๋์ผํ ํจ๊ณผ๋ ํ 3์์๋ ํ์ธํ ์ ์์ผ๋ฉฐ, ์ด๋ 2์ฐจ ๊ด์์ ๋ถํฌ์ ๋ํ ์ฐ๋น์ธํธ ์คํด๋ฃจ์ ๊ณ ๋ ค์ ์ํฅ์ ๋ณด์ฌ์ค๋๋ค(๊ฒฐ๊ณผ๋ ๊ทธ๋ฆผ 13์ ํ์๋จ).ย RSM๊ณผ ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ์ ๊ณ์ฐ์ ํ์ํ ์๊ฐ๊ณผ ์ด์ ์ฐ๊ฒฐ๋ ๋ ๋ ํ๊ฒ ์ ํ์ ํ 1์์ ํ์ธํ ์ ์์ต๋๋ค.ย Importance sampling์ ์์ ์๊ฐ์ ํ 2์ ๋์ ์์ต๋๋ค.ย RSM๊ณผ ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ค์ํ ํ์ง ์ค์ ๋ฐ ๋ ๋๋ง ์๋ ๋น๊ต๋ ๊ทธ๋ฆผ 12์ ๋์ ์์ต๋๋ค.
ํ 2: GeForce 6800 GT์์ ํ์ํ ๋ ๋ ํ๊ฒ ๋ณ๊ฒฝ์ ํฌํจํ importance warping์ ์์ ์๊ฐ(๋ฐ๋ฆฌ์ด ๋จ์).
ํ 3: ํฐ์ ์ ๊ทธ๋ฆผ 13์ ํ์๋ ์ฅ๋ฉด์ ๋ ๋๋ง ์๊ฐ(์ด๋น ํ๋ ์ ์)์ผ๋ก, 256๊ฐ์ 2์ฐจ ๊ด์์ด ์ฐ๋น์ธํธ ์คํด๋ฃจ์ ํญ์ ์ํด ๋ณ์กฐ๋ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋น๊ตํฉ๋๋ค.
6 Discussion
์๋์ Reflective Shadow Map ์ ๊ทผ๋ฒ๊ณผ ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ์ง์ ์ ์ผ๋ก ๋น๊ตํ๊ธฐ๋ ์ด๋ ต์ง๋ง, ๊ฒฐ๊ณผ ์ด๋ฏธ์ง์ ์ฃผ๊ด์ ์ธ ๋น๊ต ์ธ์๋ ํ์ํ ๊ณ์ฐ์ ๋ํ ์ง์ ๋ถ์์ ์ ๊ณตํ ์ ์์ด์.ย ๊ฐ์ ์กฐ๋ช
๊ณ์ฐ๊ณผ ๊ทธ๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ์ ์ก์ด ์ฑ๋ฅ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๊ฑฐ๋ ์.ย ์ด ๋
ผ์์์๋ ๊ฐ ๊ด์๊ณผ ๊ด๋ จ๋ ๋ฐ์ดํฐ(์์น, ๋ฐฉํฅ, ํ๋ญ์ค)์ ์กฐ๋ช
๋ ํ๋ฉด์ ์์น ๋ฐ ๋ฒ์ ๋ง์ ๊ณ ๋ คํด์.ย ํ๋ฉด ์์์ ์กฐ๋ช
์ ๊ธฐ์ฌ๋๋ฅผ ๊ณ์ฐํ ํ์ ์ ์ฉํ ์ ์๋ต๋๋ค(Section 5์ ์ค๋ช
๋์ด ์์ด์).
์ฒ์์๋ RSM ์ ๊ทผ๋ฒ์ ์ ์ฒด ํฝ์
๋จ์๋ก ํ๊ฐํด ๋ณผ๊ฒ์. ์ฆ, ํ๋ฉด ๊ณต๊ฐ ๋ณด๊ฐ ์์ด์.ย ์ด๋ฏธ์ง ํด์๋๊ฐ P ํฝ์
์ด๊ณ , ์ํ ์๊ฐ SRSM์ด๋ผ๊ณ ํ๋ฉด,ย ์ 2์ ํ๊ฐ ํ์๋ P. SRSM์ด๊ณ ๋ฉ๋ชจ๋ฆฌ ์ ์ก์ P SRSM 112 ๋นํธ์์.ย ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํ
์ค์ฒ์์ ์ํ ์์น๋ฅผ ์ฝ๊ธฐ ์ํ 16๋นํธ,
๊ด์ ์์น๋ฅผ ์ํ 48๋นํธ(3๊ฐ์ 16๋นํธ float), ๊ด์ ๋ฐฉํฅ์ ์ํ 24๋นํธ, ํ๋ญ์ค๋ฅผ ์ํ 24๋นํธ๋ก ๊ตฌ์ฑ๋ผ์.ย ์ด ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ชจ๋ ์กฐํ๋ ๋๋ฆฐ ์ข
์ ํ
์ค์ฒ ์ฝ๊ธฐ๋ก ์ํํด์ผ ํ๋ค๋ ์ ์ ์ ์ํ์ธ์.ย ์์ ๊ธฐ ๋ฐ์ดํฐ๋ ํ ๋ฒ๋ง ์ฝ์ผ๋ฉด ๋๋ฉฐ, ์ฌ๊ธฐ์๋ ๋ฌด์ํด๋ ๋ ๋งํผ ์ํฅ์ด ๋ฏธ๋ฏธํด์.
์ฐ๋ฆฌ์ splatting ๋ฐฉ๋ฒ์ ๋ํด์๋ ๋น์ฉ์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ํํ ์ ์์ด์. ๊ฐ ์ด๋ฏธ์ง ํฝ์
์ ๋ํด ํ๊ท ์ค๋ฒ๋๋ก์ฐ๋ฅผ ์ถ์ ํ ์ ์๊ฑฐ๋ ์.ย ๊ทธ๋ฆผ 8์ ํ์๋ ์์์๋ Oโโโ โ 125์์.ย ๊ด์์ ๋ฐ์ดํฐ๋ ๊ด์์ ๊ฒฝ๊ณ ๊ธฐํํ๊ณผ ๊ด๋ จ๋์ด ์์ด์ ํ๋๊ทธ๋จผํธ ์
ฐ์ด๋์ ์ง์ ์ ๊ณต๋๊ธฐ ๋๋ฌธ์,ย ๊ฐ ํฝ์
์ ๋ํด ์์ ๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ผ ํ๊ณ , ์ด๋ ๋น์ข
์ ์กฐํ๋ก ์ํํ ์ ์์ด์(48๋นํธ ์์น์ 24๋นํธ ๋ฒ์ ๋ฐ์ดํฐ).ย ๋ฉ๋ชจ๋ฆฌ ์ ์ก์ P OSII 72 ๋นํธ๋๋๋ค.
๋ฌผ๋ก SRSM๊ณผ OSII๋ฅผ ์ง์ ๋น๊ตํ ์๋ ์์ง๋ง, ๋ช ๊ฐ์ง ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ด์.ย ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ณ์ฐ ์์
๊ณผ ํนํ ๋ฉ๋ชจ๋ฆฌ ์ ์ก์ด brute-force RSM ๊ตฌํ๋ณด๋ค ํจ์ฌ ์ ์ด์. ๊ทธ๋ฆฌ๊ณ ๋๋ฆฐ ์ข
์ ํ
์ค์ฒ ์กฐํ๋ฅผ ๋ ๋น ๋ฅธ ๋น์ข
์ ์กฐํ๋ก ๋์ฒดํ๋ต๋๋ค.ย RSM์์๋ ๊ฐ ๋ ๋๋ง๋ ํฝ์
๋ง๋ค ๋
๋ฆฝ์ ์ผ๋ก ๊ด์์ ์ ํํ๋๋ฐ, ์ํ ์๊ฐ ์ ์ผ๋ฉด ๋ธ๋ก ๊ฐ์ ์ํฐํฉํธ๊ฐ ์๊ธธ ์ ์์ด์.ย ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด, ๊ฐ ํฝ์
์ ๋ํ ๊ฐ์ ์กฐ๋ช
์ ํ๊ท ์๊ฐ Oโโโ๋ก, ์ผ๋ฐ์ ์ธ ์ํฉ์์ SRSM๋ณด๋ค ํจ์ฌ ๋ฎ์์.ย ๋น๋ก ๋ ์ ์ ์ํ๋ก ๊ฐ์ ์กฐ๋ช
์ ์ฌ๊ตฌ์ฑํ์ง๋ง, ๊ด์ ์ํ์ด ์ ์ฒด ๋ ๋๋ง๋ ํ๋ ์์ ๋ํด ์ผ์ ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ์ผ๋ก ๋ ๋ง์กฑ์ค๋ฝ๊ณ ์ผ๊ด๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ต๋๋ค.
์ธํฐ๋ํฐ๋ธํ ํ๋ ์ ์๋๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด, RSM ์ ๊ทผ๋ฒ์ ๋ ๊ฑฐ์น ์ด๋ฏธ์ง์์ ๊ฐ์ ์กฐ๋ช
์ ํ๋ฉด ๊ณต๊ฐ์์ ๋ณด๊ฐํ์ฌ ์กฐ๋ช
๊ณ์ฐ ์๋ฅผ ์ค์ฌ์.ย ๋จ์ ์ ๊ตฌํ ์์
์ด ๋ง๊ณ , ๋ ๋ ํจ์ค๊ฐ ๋ ํ์ํ๋ฉฐ, ์ฅ๋ฉด ๋ณต์ก์ฑ์ ํฌ๊ฒ ์์กดํ๋ค๋ ์ ์ด์์.ย ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ณด๊ฐ ํจ์ค ์์ด๋ ์ถฉ๋ถํ ๋น ๋ฅด์ง๋ง, ๊ทธ๊ฒ๋ ๊ฐ๋จํ์ง๋ ์์์. ์ด๊ธฐ์ ๊ฑฐ์น ์ด๋ฏธ์ง๋ฅผ ์ ๊ตํ๊ฒ ๋ค๋ฌ์ผ๋ ค๋ฉด ๊ฐ๋ณ ํฝ์
์ ๋ํ ๊ฐ์ ์กฐ๋ช
๊ณ์ฐ์ด ํ์ํ๊ฑฐ๋ ์.
๊ทธ๋ฆผ 8: ์ด ์ด๋ฏธ์ง๋ 768๊ฐ์ ๊ฐ์ ์กฐ๋ช
์คํ๋ํ
์ผ๋ก ์ธํ ์ค๋ฒ๋๋ก์ฐ๋ฅผ ๋ณด์ฌ์ค๋๋ค.ย ์ด ์๋๋ฆฌ์ค์์ ํ๊ท ์ค๋ฒ๋๋ก์ฐ๋ 125์ด๋ฉฐ, ์์ํ ํฐ์์ 256๋ฐฐ์ ํด๋นํฉ๋๋ค.ย ํฝ์
๋น ์กฐ๋ช
์กฐ๊ฐ์ ํ๊ท ์๋ 512ยฒ 125/768 โ 42600์
๋๋ค.
7 Conclusion
์ฐ๋ฆฌ๋ ์ค์๊ฐ์ผ๋ก ๊ฐ์ ์กฐ๋ช
ํจ๊ณผ๋ฅผ ๊ทผ์ฌํ์ฌ ๋ ๋๋งํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ์ด์.ย ์ด ๋ฐฉ๋ฒ์ Reflective Shadow Maps์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๊ณ์ฐ์ด GPU์์ ์์ ํ ์ํ๋ผ์.ย 2D ๊ทธ๋ฆผ์ ๋งต์ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด importance sampling์ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์๋์ง ๋ณด์ฌ์คฌ๊ณ , ๋ค๋ฅธ ์ ํ์ ๊ทธ๋ฆผ์ ๋งต์ ์ฌ์ฉํ ๋ ์๋๋ฅผ ๋์ผ ์ ์๋ ๊ฐ๋ฅ์ฑ๋ ์ ์ํ์ด์.ย ํ์ฐ ํ๋ฉด๊ณผ ๋นํ์ฐ ํ๋ฉด ๋ชจ๋์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์์์ ํํ ๋ณผ ์ ์๋ ์ํฉ์์ ์ ์ํ๋ต๋๋ค.ย ์ด์ ์ ์ํธ์์ฉ ๋ฐฉ๋ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ฐ์ ์กฐ๋ช
์ ๋ํ ์์ฒด ๊ทธ๋ฆผ์๋ ๊ณ ๋ คํ ์ ์์ด์ ๋ ๋๋ง๋ ๋ชจ๋ธ์ ๋ํด ambient occlusion ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ฒ์ ์ ์ํด์.
์์ผ๋ก๋ ๋ฐ์ฌ ๋ฐ ๊ตด์ ํ๋ฉด์ ๋ํด splat ๋ชจ์์ ๊ตญ์ ํ๋ฉด ๊ณก๋ฅ ์ ๋ง๊ฒ ์กฐ์ ํ๊ณ ์ถ์ด์.ย ์ด๋ ๊ฒ ํ๋ฉด ์ด๋ฌํ ํ๋ฉด์์์ ๊ฐ์ ์กฐ๋ช
ํจ๊ณผ๋ฅผ ๋ ์ ์ ์ํฐํฉํธ๋ก, ๋ ์นด๋ก์ด ํน์ง์ ๋ ์ ๊ทผ์ฌํ์ฌ ๋ ๋๋งํ ์ ์๋ต๋๋ค.
๋ถ๋ก - ๊ฐ์ ์กฐ๋ช ๊ฒฝ๊ณ
์ด ๋ถ๋ก์์๋ ๊ฐ์ ํ์ฐ ๋ฐ ๊ดํ ์๋ ๊ด์์ผ๋ก๋ถํฐ ์๋นํ ๋น์ ๋ฐ๋ ์์ญ์ ๊ฒฝ๊ณ ๊ณ์ฐ์ ์ค๋ช
ํด์.ย ์กฐ๋ช
์ด ์๊ณ๊ฐ Iโโw ์ด์์ผ ๋ ์ด๋ฅผ ์๋ฏธ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํด์.
ํฝ์
์กฐ๋ช
p์ ๋ํ ์ค์ํ ์์ญ์ ์ค๋ช
ํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ p๋ฅผ ์ค์ฌ์ผ๋ก ํ ๊ตฌ๋ฉด ์ขํ๊ณ์์ ํ๋ ๊ฑฐ์์. ์ฆ, ๊ฐ ์๋ ๊ณต๊ฐ์ ์ ์ ๋ฐฉํฅ w์ ๊ฑฐ๋ฆฌ r๋ก ์ค๋ช
๋ผ์.ย p์ ์ถ์ฌ๊ด์ Eqs. 1๊ณผ 3์ ์ฃผ์ด์ง ๋๋ก, ๊ทธ๋ฆฌ๊ณ Fig. 2์ ํ์๋ ๋๋ก w์ ๋ฐ๋ผ ๋ฌ๋ผ์ ธ์.ย ๊ทน์ขํ (w,r)์์์ ์กฐ์ฌ E๋ w์ ๋ฐ๋ผ ๋ฌ๋ผ์ง์ง๋ง, ๊ด์๊น์ง์ ๊ฑฐ๋ฆฌ r์๋ ์์กดํด์: E(w,r) Iโ(w)/rยฒ.ย E๋ ์
์ฌ๊ฐ์ ์ฝ์ฌ์ธ์๋ ์์กดํ์ง๋ง, ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ ์ ์์ผ๋ฏ๋ก ์ด ํญ๋ชฉ์ ๋ํด 1๋ก ๊ฒฝ๊ณ๋ฅผ ์ค์ ํด์ผ ํด์.ย ๊ทธ๋์ (w,r)์์์ ์กฐ์ฌ๋์ Iโ(w)/rยฒ๋ก ๊ฒฝ๊ณ ์ง์ ์ ์์ด์.
์ด ์์ ์์ ์ฐ๋ฆฌ๋ diffuse์ glossy ์กฐ๋ช
์ ์ฝ๊ฒ ํตํฉํ ์ ์์ด์.ย diffuse ์กฐ๋ช
์ ๋ํด์๋ ํ๋ฉด ๋ฒ์ nโ์ ๋ํ ๊ฐ๋๋ฅผ ฮฑ๋ก, specular ์กฐ๋ช
์ ๋ํด์๋ ๋ฐ์ฌ ๋ฐฉํฅ rโ์ ๋ํ ๊ฐ๋๋ฅผ ฮฑ๋ก ๋ํ๋ด์ (์ 1๊ณผ ์ 3).ย diffuse ์กฐ๋ช
์ ๋ํด ์ง์ n = 1์ ์ฌ์ฉํ๋ฉด, ์กฐ์ฌ๋์ 2D ๊ทน์ขํ ํจ์ B(ฮฑ,r) = Iโcos(ฮฑ)โฟ/rยฒ๋ก ์ ํ๋ ์ ์์ด์.ย ๋ค์์ผ๋ก ์ฐ๋ฆฌ๋ 2D ๊ฒฝ์ฐ๋ก ์ ํํ ์ ์๋๋ฐ, 3D ๋ชจ์์ ํ์ ๋์นญ์ด๋๋๋ค.
๊ทธ๋ผ p์ ์ํฅ ์์ญ์ ๋ฑ๊ณ ๋ฉด B(ฮฑ,r) = Iโโโ์ผ๋ก ์ ํ๋ผ์.ย B๋ r์ ๋ฐ๋ผ ๊ณ์ ๊ฐ์ํ๊ธฐ ๋๋ฌธ์, ์ด ํ๋ฉด์ ๊ทน์ขํ ํจ์ r(w) = Ilow๋ก ์ค๋ช
ํ ์ ์์ด์.ย ๊ทธ๋ฆผ 9๋ Iโ = 1, Iโโโ = 1, ๊ทธ๋ฆฌ๊ณ Phong ์ง์๊ฐ 1, 10, 100์ผ ๋์ ๋ฑ๊ณ ๋ฉด์ ๋ณด์ฌ์ค์.
๊ทธ๋ฆผ 9: ์ผ์ชฝ: ํฝ์
์กฐ๋ช
์ ์ํ ์กฐ๋ช
๊ณ์ฐ.ย ์ค๋ฅธ์ชฝ: ์ง์๊ฐ 1, 10, 100์ธ ํฝ์
์กฐ๋ช
์ ์ค์ํ ์์ญ.
์ด ๋ฑ๊ณ ๋ฉด์ ์๋ถ๋ถ์ ๋ช
์์ ํจ์๋ก ์ค๋ช
ํ ์ ์์ด์.
๋ค์์ ํด๋ฆฌ์คํฑ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ชจ์ ์ฃผ์์ ํ์์ ๋ง์ถฐ์.ย ๋จผ์ , F์ ์ต๋๊ฐ์ ๊ณ์ฐํด์.ย ์ต๋๊ฐ์ด Xmax์ ์์ ๋, ํ์์ ์ค์ฌ์ (xmax,0)โท์ ๋์์.ย x์ถ๊ณผ y์ถ์ ํ์์ ์ฃผ์ถ์ผ๋ก ์ฌ์ฉํด์.ย ๋์ด๋ (xmax)๋ก ์ ํํ๊ณ ,ย ํ์์ด x-๊ตฌ๊ฐ์ ๋ฎ๋๋ก ๋๋น๋ฅผ ์ ํํด์ [0,1].ย ๊ทธ๋ฆผ 10์ n = 1๊ณผ n = 10์ผ ๋ ๊ฒ์์์ผ๋ก ๋ฑ๊ณ ๋ฉด์, ํ์์ผ๋ก ๊ฒฝ๊ณ ํ์์ ๋ณด์ฌ์ค์.
Figure 10: n = 1๊ณผ n = 10์ ๋ํ ๋ฑ๊ณ ์ ๊ณผ ๊ฒฝ๊ณ์
๋๋ค.
์ต๋๊ฐ์ F์ ๋ํจ์์ ๊ทผ์ ์ฐพ์์ ๊ตฌํ ์ ์์ด์.ย x-์์น๋ c(n) = n+2, n+2 (8)์์ ์ฐพ์ ์ ์๋ต๋๋ค. ๊ทธ๋์ ํ์์ ์ค์ฌ์ (c(n),0)โท๋ก ์ค์ ํ๊ณ , ๋์ด๋ h(n) = F(c(n))์ ์ฌ์ฉํ๋ฉฐ, ๋๋น๋w(n)=max{c(n),1โc(n)}์ ์ฌ์ฉํฉ๋๋ค.
References
BUNNELL, M. 2005. Dynamic ambient occlusion and indirect lighting. GPU Gems 2 - Programming Techniques for High-Performance Graphics and General-Purpose Computation, Edited by Matt Pharr.
CLARBERG, P., JAROSZ, W., AKENINE-MรLLER, T., AND JENSEN, H. W. 2005. Wavelet importance sampling: Efficiently evaluating products of complex functions. In ACM Trans. Graph., ACM Press, 11661175.
CROW, F. C. 1977. Shadow algorithms for computer graphics. vol. 11, 242-248.
DACHSBACHER, C., AND STAMMINGER, M. 2005. Reflective shadow maps. In SI3D '05: Proceedings of the 2005 symposium on Interactive 3D graphics and games, ACM Press, New York, NY, USA, 203-231.
HARGREAVES, S. 2004. Deferred shading. Game Developers Conference.
KELLER, A. 1997. Instant radiosity.ย SIGGRAPH 97์ ์ปดํจํฐ ๊ทธ๋ํฝ ํ๋ก์๋ฉ, ์ฐ๋ก ์ปจํผ๋ฐ์ค ์๋ฆฌ์ฆ์์, 49-56.
LANDIS, H. 2002. Production-ready global illumination. Siggraph Course Notes #16, 2002.
REEVES, W.T., SALESIN, D. H., ๊ทธ๋ฆฌ๊ณ COOK, R. L. 1987. ๊น์ด ๋งต์ ์ฌ์ฉํ ์ํฐ์จ๋ฆฌ์ด์ฑ ๊ทธ๋ฆผ์ ๋ ๋๋ง.ย ์ปดํจํฐ ๊ทธ๋ํฝ์ค (SIGGRAPH 87 ํ๋ก์๋ฉ), vol. 21, 283-291.
SHAH, M., ๊ทธ๋ฆฌ๊ณ PATTANAIK, S. 2005. Caustics mapping: ์ค์๊ฐ ์นด์ฐ์คํฑ์ค๋ฅผ ์ํ ์ด๋ฏธ์ง ๊ณต๊ฐ ๊ธฐ๋ฒ.ย ๊ธฐ์ ๋ณด๊ณ ์, ์ค์ ํ๋ก๋ฆฌ๋ค ๋ํ๊ต ๊ณตํ ๋ฐ ์ปดํจํฐ ๊ณผํ๋ถ, CS TR 50-07, 2005๋
7์ 29์ผ (์ถํ ์ ์ถ๋จ).
TABELLION, E., ๊ทธ๋ฆฌ๊ณ LAMORLETTE, A. 2004. ์ปดํจํฐ ์์ฑ ์ํ์ฉ ๊ทผ์ฌ ์ ์ญ ์กฐ๋ช
์์คํ
.ย ACM Trans. Graph. 23, 3, 469-476.
WILLIAMS, L. 1978. ๊ณก๋ฉด์ ๊ณก์ ๊ทธ๋ฆผ์ ํฌ์.ย ์ปดํจํฐ ๊ทธ๋ํฝ์ค (SIGGRAPH 78 ํ๋ก์๋ฉ), vol. 12, 270-274.
WYMAN, C. 2005. ์ํธ์์ฉ์ ์ธ ๊ตด์ ์ ์ํ ๊ทผ์ฌ์ ์ธ ์ด๋ฏธ์ง ๊ณต๊ฐ ์ ๊ทผ๋ฒ.ย ACM Trans. Graph. 24, 3, 1050-1053.
WYMAN, C. 2005. ๊ทผ์ฒ ๊ธฐํํ์ ์ํธ์์ฉ์ ์ธ ์ด๋ฏธ์ง ๊ณต๊ฐ ๊ตด์ .ย ์์ด์ค์ ๋ํ๊ต, ์ปดํจํฐ ๊ณผํ๊ณผ, ๊ธฐ์ ๋ณด๊ณ ์ UICS-05-04.
100%
Iโโw = 1%Iโ, 14 fps
100%
Iโโโ = 5%Iโ, 54 fps
100%
Iโโw = 7%Iโ, 74 fps
๊ทธ๋ฆผ 11: ์๋ก ๋ค๋ฅธ ๊ฐ๋ ์ปท์คํ ๊ฐ๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ๋น์ ๊ฒฝ๊ณ ๋ถํผ ํฌ๊ธฐ๊ฐ ๋ ๋๋ง ์๋์ ํ์ง์ ๋ฏธ์น๋ ์ํฅ์ด์์.
100%
SII, 768๊ฐ์ ์กฐ๋ช
, Iโโโ = 5%Iโ, 48 fps SII, 768๊ฐ์ ์กฐ๋ช
, Iโโw = 10%Iโ, 83 fps SII, 108๊ฐ์ ์กฐ๋ช
, Iโโw = 5%Iโ, 254 fps
๊ทธ๋ฆผ 12: Reflective Shadow Maps (RSM)์ ์ฐ๋ฆฌ ๋ฐฉ๋ฒ(SII)์ ๋น๊ต: RSM์ ์ฑ๋ฅ์ 2์ฐจ ๊ด์๊ณผ์ ๊ฑฐ๋ฆฌ์ ์์กดํ์ง ์์ง๋ง, ๋ถ๋ฆฌํ ์กฐ๋ช
์ํฉ์์๋ ์ํฐํฉํธ๊ฐ ๋ฐ์ํด์.ย RSM ์ด๋ฏธ์ง์ ํ์ด๋ฐ์ 64ยฒ ํ๋ฉด ๊ณต๊ฐ ์๋ธ ์ํ๋ง์ผ๋ก ์ธก์ ํ์ด์.ย ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ถ๋๋ฌ์ด ๊ฐ์ ์กฐ๋ช
๊ณผ ๋ ๋์ ํ๋ ์ ์๋๋ฅผ ์ ๊ณตํ๋ต๋๋ค.ย ๋ํ, ์๋์ ํ์ง ๊ฐ์ ์ ์ถฉ์ด ์ฌ๊ฐํ ์ํฐํฉํธ๋ฅผ ์ ๋ฐํ์ง ์์์.ย ๋ ๋ฐฉ๋ฒ ๋ชจ๋ RSM์ด๋ ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ ์
๋ฐ์ดํธ ์์ด ํ์ด๋ฐ์ ์ธก์ ํ์ด์.
100%
secondary light sources๋ ๊ฐ์ ์กฐ๋ช
๋ง ์ ๊ณตํ๋ฉฐ, ๊ท ์ผํ๊ฒ ๋ถํฌ๋๊ณ ๋์ผํ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง๋๋ค.
ambient occlusion ํญ๋ชฉ์ด์์.
secondary light sources๋ ๊ฐ์ ์กฐ๋ช
๋ง ์ ๊ณตํ๋ฉฐ ambient occlusion ํญ๋ชฉ์ ์ํด ์กฐ์ ๋ฉ๋๋ค.
๊ทธ๋ฆผ 13: fragment ์ฒ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ด ๋ณ๋ชฉ ํ์์ด๊ธฐ ๋๋ฌธ์, importance sampling ๋จ๊ณ๋ฅผ ์๋ตํ๊ณ ambient occlusion์ผ๋ก ์กฐ์ ๋ ๊ด์์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
100%
๊ทธ๋ฆผ 1: ๊ธ์ ๋ฐ์ง์ ๋๋ฌด ํ ์์ caustics๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ ๋๋งํ ๋ชจ์ต์ด์์. ์ด๋น 95 ํ๋ ์ ์ด์์ผ๋ก ๋ณด์ฌ์ฃผ๊ณ ์๋ต๋๋ค.ย ๊ฐ์ด๋ฐ ์ด๋ฏธ์ง๋ ๊ดํ ์๋ ํฝ์
์กฐ๋ช
์ ์ผ๋ถ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ด์.ย ๊ตด์ ์ ๋ฆฌ tweety(๋ค์ชฝ ํ๋ฉด์์๋ง ๊ตด์ )๋ ์ด๋น 150 ํ๋ ์์ผ๋ก ์คํ๋ฉ๋๋ค.
100%
๊ทธ๋ฆผ 2: ์ฐ๋ฆฌ ๋ฐฉ๋ฒ(์ผ์ชฝ)๊ณผ Instant Radiosity(์ค๋ฅธ์ชฝ)์ ๋น๊ต์
๋๋ค.ย ํ์๋ ๋ถ๋๋ฌ์ด ๊ทธ๋ฆผ์๋ฅผ ์์ฑํ๊ณ ๊ฐ์ ์กฐ๋ช
์ ๋ํ ์ฐจํ๋ฅผ ์ฒ๋ฆฌํด์.ย ๋ ์ด๋ฏธ์ง ๋ชจ๋ 1000๊ฐ์ ๊ฐ์ ๊ด์์ ์ฌ์ฉํ์ด์.
100%
Iโโw = 1%Iโ, 14 fps Iโโw = 5%Iโ, 54 fps Iโโw = 7%Iโ, 74 fpsย ๊ทธ๋ฆผ 3: ์๋ก ๋ค๋ฅธ ๊ฐ๋ ์ปท์คํ ๊ฐ๊ณผ ๋ฐ๋ผ์ ๋ค๋ฅธ ํฌ๊ธฐ์ ๊ด์์ ๊ฒฝ๊ณ ๋ถํผ๊ฐ ๋ ๋๋ง ์๋์ ํ์ง์ ๋ฏธ์น๋ ์ํฅ์ ๋ณด์ฌ์ค๋๋ค.
100%
SII, 768 lights, Iโโw = 5%Iโ, 48 fpsย SII, 768 lights, Iโโw = 10%Iโ, 83 fpsย SII, 108 lights, Iโโw = 5%Iโ, 254 fps
๊ทธ๋ฆผ 4: Reflective Shadow Maps(RSM)๊ณผ ์ฐ๋ฆฌ ๋ฐฉ๋ฒ(SII)์ ๋น๊ต์
๋๋ค. RSM์ ์ฑ๋ฅ์ 2์ฐจ ๊ด์๊ณผ์ ๊ฑฐ๋ฆฌ์๋ ์๊ด์์ง๋ง, ๋ถ๋ฆฌํ ์กฐ๋ช
์ํฉ์์๋ ์ํฐํฉํธ๊ฐ ๋ฐ์ํด์.ย RSM ์ด๋ฏธ์ง์ ํ์ด๋ฐ์ 64ยฒ ํ๋ฉด ๊ณต๊ฐ ์๋ธ์ํ๋ง์ผ๋ก ์ธก์ ํ์ด์.ย ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ถ๋๋ฌ์ด ๊ฐ์ ์กฐ๋ช
๊ณผ ๋ ๋์ ํ๋ ์ ์๋๋ฅผ ์ ๊ณตํด์.ย ๋ํ, ์๋์ ํ์ง ๊ฐ์ ๊ท ํ์ด ์ฌ๊ฐํ ์ํฐํฉํธ๋ฅผ ์ ๋ฐํ์ง ์์์.ย ๋ ๋ฐฉ๋ฒ์ ํ์ด๋ฐ์ RSM์ด๋ ์ง์ฐ ์
ฐ์ด๋ฉ ๋ฒํผ ์
๋ฐ์ดํธ ์์ด ์ธก์ ํ์ด์.
100%
2์ฐจ ๊ด์ ๊ฐ์ ์กฐ๋ช
๋ง ์ฃผ๋ณ ํ์ ํญ 2์ฐจ ๊ด์ ๊ฐ์ ์กฐ๋ช
๋ง ์ฃผ๋ณ ํ์ ํญ์ ์ํด ์กฐ์ ๋จ
๊ท ์ผ ๋ถํฌ, ๋์ผ ๊ฐ์ค์น
๊ทธ๋ฆผ 5: ํ๋๊ทธ๋จผํธ ์ฒ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ด ๋ณ๋ชฉ ํ์์ด๊ธฐ ๋๋ฌธ์, importance sampling ๋จ๊ณ๋ฅผ ์๋ตํ ์ ์์ด์. ๊ทธ๋ฆฌ๊ณ ambient occlusion์ ์กฐ์ ํ ๊ด์์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ ๋์ผ ์ ์๋ต๋๋ค.
























