์„œ๋น„์Šค
๊ต์œก ์ฒ ํ•™

Splatting indirect illumination

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์„ ์กฐ์ ˆํ•œ ๊ด‘์›์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.