사실적장면표현을위한렌더링기술동향 The Recent Trends of Rendering Technologies for Realistic Scene Representation 장호욱 (H.W. Jang) 이인호 (I.H. Lee) 디지털액터연구팀선임연구원디지털액터연구팀팀장 목차 Ⅰ. 서론 Ⅱ. 주요렌더링기능 Ⅲ. 렌더러기술동향 Ⅳ. 결론 컴퓨터를이용하여실물이나가상의객체를형상화하고움직임을부여하는컴퓨터그래픽스 (CG) 는현실과구분할수없을정도의기술의발전과함께영화, 게임, VR, 산업용디스플레이, 화상통신등디지털콘텐츠전분야에서활용폭이넓어지고있다. 렌더링은 CG에서장면의추상적인 3차원 description 을 2차원영상으로생성하는과정을말하며, 생성되는영상의품질및제작시간을결정하는중요한요소로인식되고있다. 과거에비해전역조명및셰이딩기술이발전하면서극도로사실적인영상의생성이가능하게되었으나이를렌더링하는것은많은시간을필요로하고있어, 사실적인영상을고속으로렌더링하기위한연구가진행되고있다. 본고에서는 CG 제작과정에서널리사용되고있는주요렌더러들의기능들과미래의기술발전방향을분석한다. 97
I. 서론 컴퓨터그래픽스는인간이상상할수있는객체나장면을표현하고실제세계에서실현이불가능한것을나타내기위한기술로가상객체및장면의형상을만드는모델링기술, 객체를현실세계에서보이는모습으로보이게하는렌더링기술, 정지이미지들을연속적으로빠르게재생함으로써장면이실제로움직이는것처럼보이게하는애니메이션기술을적용하여가상의영상을생성한다. 렌더링기술은 3차원 CG 오브젝트들을형상과위치, 광원과시점정보에의해 2차원영상으로변환하면서모델링된장면에실재감을부여하는과정을말한다. 렌더링에서의영상생성은일반적으로 3단계를거쳐이루어지는데, 첫번째단계는 3차원상의점, 선, 면등을 2차원평면에투영하는단계이며, 두번째단계는불투명오브젝트의면과불투명오브젝트뒤에있는면을차별화하여앞에보이는면은보이게하고앞의물체에가려지는뒷면은제거해야한다. 세번째단계는오브젝트의보이는면에대해서음영을표시하게된다. 렌더링은수작업에의한품질보완이용이한모델링이나애니메이션과정과는달리어떤렌더러를사용하는가에따라성능이크게좌우되며이에따라생성되는영상의실재감과품질이결정된다고할수있다. 사실적인렌더링을위해서는그림자나색상과농도와같은 3차원질감이요구되며전역조명 (global illumination) 처리를필요로하여렌더링작업에막대한처리시간이소요되고있다. 또한생성된영상의품질을높이기위해렌더링된영상을손보아다시렌더링하는경우가많아 CG 작업중에서가장많은작업시간을요구하고있다. 본고에서는사실적장면표현을위해필요한렌더링의주요기능들을 II장에서살펴보고가장널리사용되고있는상용렌더러들을 III장에서분석한다. 분석렌더러들은 CG 제작업계및학계에서가장널리사용되고있는 RenderMan, Mental Ray, POV- Ray(Persistence of Vision Ray tracer) 및 3DS Max의플러그인렌더러로사용되는 Final Render, Brazil Renderer, V-Ray를대상으로하였다. 마지막으로 IV장에서는앞으로의전망및결론을맺는다. Ⅱ. 주요렌더링기능 1. 은면 / 은선제거 가. Z버퍼알고리듬 1960년대이후수많은은선제거기법들이개발되었지만그중에서가장대표적인은선제거기법이바로 Z버퍼알고리듬이다. Z버퍼알고리듬은각면의깊이값을별도의버퍼에임시로저장하여깊이값비교에의해최종적으로어떤면이보일것인지를결정하는방식으로각픽셀마다폴리곤테이블의순서에따라각오브젝트표면의깊이값을계산한다음계산된깊이값과현재 Z버퍼에저장된값을비교해서새로계산된값이시점과가깝다면프레임버퍼를갱신하고그렇지않다면기존의값을그대로사용하게된다. 이방식은 Z버퍼를사용하기위한메모리가별도로필요하고보이는여부에상관없이모든오브젝트를고려해야하므로다소비효율적인단점과함께원리가매우단순하여구현하기쉽고각픽셀에투영되는면의색과깊이값만구하면되므로모든유형의오브젝트에적용할수있으며결과를저장할때 Z버퍼의값을같이저장하면각각의오브젝트를따로렌더링해서나중에합성하거나피사계심도 (depth of field) 효과를주는등의작업도가능해진다는장점때문에널리사용되고있다. 나. 스캔라인알고리듬오브젝트를구성하는모서리목록 (edge table) 과폴리곤목록 (polygon table) 을이용하여한번에한줄씩각스캔라인과만나는면들을골라내고이면들에대해서만보이는면을판정 (visible-surface determination) 하는방식으로하나의스캔라인위의모든픽셀에대하여각표면의깊이값을계산하 98
장호욱외 / 사실적장면표현을위한렌더링기술동향 여어떤것이가장작은지를결정한다. Z버퍼의크기는스캔라인크기의깊이정보를저장하는정도만요구되어 Z버퍼알고리듬에비해요구되는메모리가상당히줄어든다. 다. 워노크알고리듬한화면상에서출력해야할요소자체를얻기위한알고리듬으로출력상에많은내용의사실을특색있게유사한형태로그릴수있도록한다. 이미지공간내에서하나의윈도를고려하여그윈도가비어있는지혹은윈도내에포함될내용을출력하기에충분한크기로되어있는지를결정하고, 위의두가지경우가아니면윈도를 4개의동일한부윈도로분할하는과정을반복한다. 라. Occlusion Culling 시점과시점방향그리고보여질물체가주어졌을때, 눈에보이는부분만을효과적으로판단하여그려질영상을만드는데사용되며불필요한데이터의대부분을 Z버퍼링이전단계에서미리제거하여처리되는데이터양을줄이는기법으로실제영상의질에영향을미치지않으면서, 실질적으로처리하는데이터의상당량을제거해준다. 2. 표면매핑 (Surface Mapping) 3차원오브젝트의사실감을부여하기위해오브젝트표면에재질을입히는과정으로비트맵이미지를사용하는텍스처매핑을비롯하여디테일한표현을위한다양한매핑기법들이존재한다. 가. 텍스처매핑 (Texture Mapping) 나무나천과같은질감을표현하기위해표면에미리준비된질감데이터를입히는방식으로일반적으로비트맵이미지를사용하여오브젝트각부분의변수나색상값을대치한다. 이때사용되는비트맵이미지를텍스처맵이라부르며, 텍스처맵을이용해 서오브젝트표면특성을대체하기위해서는텍스처맵의어느픽셀이오브젝트표면의어느부분에대응될것인지를결정해주어야한다. 이를위해오브젝트표면에도텍스처맵에해당하는좌표계를설정해주어야하는데오브젝트표면에설정되는좌표계를매핑좌표계라부른다. 매핑좌표에는일반적으로사용되는 XYZ 좌표계대신 UVW 좌표계가사용되는데 UVW는각각 XYZ축에대응되며매핑에는일반적으로 2차원맵만사용하므로 UV 좌표계라고도부른다. 나. 범프매핑 (Bump Mapping) 오브젝트표면의울퉁불퉁함을표현하기위한매핑방법으로모델링으로표현하기에는너무미세하게거친표면이나울퉁불퉁한모양이애니메이션되어야하는경우에주로사용된다. 오브젝트의표면은그대로두고표면법선벡터 (surface normal) 값을매핑소스의밝기값에따라변화시켜울퉁불퉁하게보이는표면을나타내는방식을사용하는데, 표면법선벡터값만이바뀌었기때문에오브젝트자체는아무런변화가없어오브젝트의가장자리는매핑전과동일하게보이는단점이있다. 이런현상은범프매핑대신오브젝트의형태자체를매핑소스의밝기값에따라바꿔버리는방법인변위매핑 (displacement mapping) 을사용하면해결될수있다. 다. 절차적매핑 (Procedural Mapping) 사용자에의해주어지는변수값들을바탕으로프랙탈이나노이즈같은수학함수에의해텍스처맵을생성하여오브젝트에매핑시키는방식으로연기, 먼지, 비누, 거품, 침식등의매핑에주로이용한다. 이방식은다른매핑방식에비해몇가지장점을가지고있는데, 첫째, 함수에의해생성된텍스처맵이실제로 3차원공간전체를채우고있기때문에매핑좌표라는개념이필요없으므로오브젝트형태에따라매핑이미지가밀려서매핑되는문제가발생하지 99
않고, 둘째, 무한대의해상도를갖기때문에고해상도출력이필요한경우비트맵이미지를사용하는것보다메모리가적게들며, 셋째, 비정형의 3차원물체를표현할때유용하게사용될수있다. 를조절하는방식으로매핑이미지의흰색부분은투명하게, 검은색부분은불투명하게처리하여표현한다. ( 그림 1) 은앞쪽공의이미지를뒤의체크무늬이미지에적용한투명매핑처리결과를나타낸다. 라. 환경 / 반사매핑 (Environment/Reflection Mapping) 지역조명모델 (local illumination model) 만을사용하는렌더러에서는반사 (reflection) 나굴절 (refraction) 과같이반짝이는오브젝트상호간의관계에의해생성되는현상들을표현할수없으므로광선추적법을대신하여반사와굴절현상을표현하는데사용되어왔다. 최근에는하드웨어사양이높아져과거보다레이트레이싱기능을제공하는렌더러가많아졌지만장면내의모든오브젝트들의반사를정확하게표현하는것은레이트레이싱으로많은시간이걸리기때문에이를대체하는방법으로여전히많이활용되고있다. 환경매핑은시점이바뀌거나오브젝트가움직이게되면오브젝트특정지점에서반사되어보이는부분이바뀌게되므로해당오브젝트표면의색상도바뀌는특징을갖고있으며환경에매핑을하므로오브젝트에별도의매핑좌표를만들필요가없다. 환경매핑을구현하는대표적인방법은천체와같은거대한구에이미지를매핑하여환경으로사용하는구형환경매핑과반사면을가진오브젝트에가상의 6면체를만들어환경을구성하는큐빅 (cubic) 환경매핑이있다. 마. 투명매핑 (Transparency Mapping) 매핑이미지의명도단계에따라객체의투명도 3. 지역조명모델지역조명모델은빛의작용을계산함에있어사용자가관심을갖는특정표면과이표면을직접비추는광원만을고려하는방식으로광원, 표면, 시점간의관계를고려해서난반사및정반사되는빛의세기를계산하여물체표면의색상을구하는모델로많은모델들이개발되어있으나비교적간단한계산에의해사실에근접한효과를낼수있는 Phong 모델과 Blinn 모델이가장널리사용되고있다. 가. Phong 모델 Phong이개발한가장대표적이고기본적인지역조명모델로난반사의계산은 Lambert의코사인법칙을이용하고정반사의계산에는 cos n α을곱하는방법을이용하였다. α는반사벡터 R과시점벡터 V 사이의각도로서이방법을사용하면반사벡터 R과시점벡터 V가일치하는지점을최대값으로해서두벡터사이의각도가벌어질수록정반사의세기가점점줄어들게된다. n은사용자가임의로지정하는숫자로서하이라이트의크기를조절하는역할을한다. Phong 모델은물체표면에서일어나는물리적인현상을기초로한것이아니므로실제상황과다소차이가날수밖에없으나상대적으로계산량이적고구현이간단하며최종적으로얻어지는결과물이상당히유사하게보이기때문에기본적인조명모델로서가장널리애용되고있다. 나. Blinn 모델 ( 그림 1) 투명매핑의예 Phong 모델보다좀더사실적인결과를생성하기위해물리적으로좀더올바른조명모델들을개발하게되는데이와같은방법들이바로물리기반 100
장호욱외 / 사실적장면표현을위한렌더링기술동향 지역조명모델 (physically based local illumination model) 들이다. Blinn 모델은최초로개발된대표적인물리기반지역조명모델로서정반사특성을계산함에있어 Phong 이사용했던 cos n α 대신에 Torrence-Sparrow 모델을사용한다. Blinn 모델이 Phong 모델과비교해서갖게되는실질적인차이점은정반사를계산할때조명의입사각에따라정반사특성이바뀌느냐안바뀌느냐에있다. 즉 Phong 모델에서는입사각과관계없이항상반사각방향으로정반사율이높게나오지만실제세계에서는빛이비스듬하게입사할경우반사각보다더비스듬한방향으로정반사율이높게나오게되는 offspecular peak 현상이일어나는데정오에태양이지면에서거의수직해있을때는하이라이트가별로발생하지않던아스팔트표면이석양무렵태양빛이지면에비스듬하게입사할때에는훨씬반짝여보이는것이바로이현상때문이다. ( 그림 2) 에서와같이 Blinn 모델은 off-specular peak 현상을제대로표현할수있으며, 조명이뒤에서비춰지는경우에도 Phong 모델보다사실적인결과를생성할수있다. Blinn 모델을비롯한대부분의물리기반지역조명모델들은올바른하이라이트를얻기위해정반사특성의계산에만이와같은방법을적용할뿐난반사특성은 Phong 에서사용했던 Lambert의코사인법칙을그대로사용하지만, 최근에는 Oren-Nayer 모델같이난반사특성을계산하기위한모델들도개발되고있다. ( 그림 2) Phong 모델과 Blinn 모델 4. 전역조명모델지역조명모델만가지고는오브젝트간의반사나, 굴절, 그림자등과같이다른오브젝트에의해반사되거나다른오브젝트를투과, 굴절해서오브젝트표면에영향을미치는빛에의한결과들을재현할수없다는문제가있다. 이러한문제를해결하기위하여개발된전역조명모델은렌더링과정에서오브젝트상호간의관계도모두고려하기때문에오브젝트들간의상호반사 (interreflection), 굴절, 그림자효과등을재현할수있어훨씬사실적인이미지를생성할수있으나엄청난렌더링시간이걸린다는치명적인단점을가지고있다. 최근에는하드웨어환경이급속히좋아지는데다속도개선을위한많은방법들이개발되어활용이점점늘어나는추세이다. 가. 광선추적법 (Ray Tracing) 광선추적법은눈에서부터각픽셀을향해광선 (ray) 을방출한다음이광선의굴절, 반사등을계산해서광선이시작되었던조명에이를때까지의경로를역추적해나가고이과정을통해각픽셀의색상을결정하는렌더링방법이다. 광선을추적하는과정에서반사와굴절이되풀이하여일어난다고하여재귀적광선추적법 (Recursive Ray Tracing) 이라고도부르는데, 광선추적과정에서각오브젝트간에일어나는완전정반사특성만을고려하여난반사특성이라던가불완전한정반사특성을계산할때에는광선추적법이가능한렌더러에서도기존의지역조명모델을그대로사용한다. 따라서완전정반사특성이없는일반적인오브젝트를렌더링할때에는광선추적법렌더러나지역조명모델만을사용하는스캔라인렌더러나결과에별차이가없게된다. 재귀적광선추적법이거울반사나굴절, 그림자등을매우사실적으로표현해줌에도불구하고부족한것이있으니그것은얻어지는결과물들이모두지나치게깨끗하고완벽하다는점이다. 실제세계에서는아무리반짝반짝하게닦아놓은금속구라하더라도그표면에반사되는주위환경은약간흐릿하게보이지만재귀적광선추적법에서는광선들이반사될때완벽하게 100% 반사되어아주이상적인 101
거울같은또렷한반사가얻어지기때문에이와같은결과가너무나사실적이라오히려사실적이지않은느낌을주게된다. 이와같은문제를해결하기위한분산광선추적법 (Distributed Ray Tracing) 에서는한줄로이루어진가느다란광선개념대신여러광선을골고루뿌리고그결과를종합하여표면의반사를계산하여부드럽게뭉개지는반사를표현하게되는데 [1] 현재사용되는대다수의광선추적법렌더러들은이방법을기반으로하고있다. 빛이유리나물같이고르지못한표면을갖는매개체를통과하는과정에서굴절되거나반사되면서어떤무늬를만드는 ( 그림 3) 과같은코스틱 (caustic) 현상은분산광선추적법으로도표현하지못하는데그이유는거울반사가전혀없는표면을만나면광선추적작업이끝나버리기때문이다. 이와같은문제를해결하여코스틱현상을표현할수있도록해주는것이이단계광선추적법 (Two-Pass Ray Tracing) 으로먼저광원으로부터광선을발사한다음광선이벽이나천장과같은난반사 (diffuse) 표면에닿을때까지추적하고이렇게추적된각광선의에너지, 즉코스틱이미지를난반사표면상에그려주는첫번째단계를거치고두번째단계인기존의광선추적법으로최종적인결과를얻는것이다. 이방법은눈과광원양쪽방향으로부터동시에광선추적작업을수행한다고해서양방향광선추적법 (Bi-Directional Ray Tracing) 이라고부르기도하고눈으로부터추적하는기존의방법과반대방향으로작업이진행된다고해서역방향광선추적법 (Backward Ray Tracing) 이라고부르기도한다. 나. 래디오시티 (Radiosity) 사실적장면표현을위해서는광원으로부터의빛뿐만아니라오브젝트서로간에주고받는빛의영향도고려해야한다. 실세계에서는직접빛이비춰지지않는곳에도바닥이나벽면등주위오브젝트표면에서난반사된빛이다른오브젝트표면에반사되어특정색상이다른오브젝트표면에영향을주는 color bleeding 현상이발생한다. 이와같은현상을재현하기위해난반사특성의계산에있어주위의다른오브젝트들과의관계를포괄적으로고려하는방법으로래디오시티기법이개발되었다. 래디오시티에서는먼저장면을이루는모든표면을패치 (patch) 라고불리는조각으로나누고광원에서특정패치로또이패치로부터다른패치그리고또다른패치로얼마만큼의광에너지가전달되는지그양을계산한다. 패치들간의주고받는에너지의흡수및반사정도는패치간의기하학적관계에의해서결정되고이를 form-factor라고한다. 표면을나눈후에는각각의조각들이서로얼마나가까이있는지, 어느정도의각도로서로마주보고있는지를확인해서 form-factor를결정하게되는데두개의면이매우가까운거리에서서로마주보고있다면 1에가까운값이되고반대로먼거리에서매우벌어진각도로바라보기때문에서로영향을거의미치지않는다면 form-factor는 0에가까운값이된다. 이렇게결정된 form-factor 값을이용해표면들서로간에주고받는빛의양과색을계산함으로써해당표면의색을결정하게되며, 이와같은알고리듬의특성때문에빛을받는모든패치들이사실상광원의역할을하게된다. ( 그림 4) 에 ( 그림 3) Caustic 현상 ( 그림 4) 광선추적법과래디오시티계산 102
장호욱외 / 사실적장면표현을위한렌더링기술동향 서와같이래디오시티는광선추적법과는달리현실세계에서처럼창문을통해들어오는하나의광원만으로도실내의구석구석까지자연스럽게밝아지는매우효과적이면서도사실적인결과물을얻을수있다. 또한난반사만을고려하기때문에오브젝트들의위치가변하지않으며 form-factor 값에변화가없기때문에시점변화에따른렌더링계산이필요없는특징을가지고있어제품디자인분야나인테리어, 건축시뮬레이션분야에활용도가높다. 래디오시티의단점은사실적인결과물을얻기위해서는렌더링시간이다른렌더링방식에비해훨씬늘어나게되며, 난반사만고려하기때문에반사, 굴절을표현할수없어대부분광선추적법을함께사용하는하이브리드 (hybrid) 형태의렌더러형태로제공되는데, 먼저래디오시티기법을이용해서난반사특성의계산을끝낸다음광선추적법으로반사와굴절을추가해서마무리해야한다. 다. Sub Surface Scattering 래디오시티와유사한빛처리과정을수행하나오브젝트의재질까지함께고려한방식이다. 일반적인래디오시티알고리듬은동일한정반사와난반사수치를갖고있으면어떤물질이라도같은방식으로계산되나, sub surface scattering는물질의반투명성과정확한각도의빛반사를계산하는것으로 BSSRDF에기반한반투명재질에대한사실적인시뮬레이션결과를얻을수있다 [2],[3]. ( 그림 5) 와 ( 그림 5) BRDF 를이용한얼굴렌더링 ( 그림 6) BSSRDF 를이용한얼굴렌더링 ( 그림 6) 은각각 BRDF와 BSSRDF 를이용한얼굴렌더링결과를나타내며 BRDF는 BSSRDF 모델에서 sub surface scattering을고려하지않은간략화된모델이다. Sub surface scattering은현재 Mental Ray, Brazil Renderer, V-Ray 등에서기능을제공하고있다. 라. 포톤맵광선추적법포톤맵을이용한광선추적법 (Photon Map Ray Tracing) 의경우도두단계의광선추적과정을거치는데, 광원으로부터광자들을방출한다음이광자들이반사되고굴절되는과정을통해서포톤맵을생성하고이를이용해서최종적인결과를얻는다. 일반적으로작업의효율을위해상호반사확산 (diffuse interreflection) 을재현하기위한글로벌포톤맵, 코스틱을재현하기위한코스틱포톤맵, 반투과물질 (participating media) 을재현하기위한볼륨포톤맵을별도로생성한다 [4]. 이방법의장점은광선추적법임에도불구하고상호반사확산을재현할수있다는점과렌더링속도가매우빠르고래디오시티에서처럼메시 (mesh) 를분할할필요가없으며반투과물질까지도다룰수있어깊이감효과 (volumetric effect) 까지도재현할수있는등의여러가지를들수있으며, 이런장점들로인해최근에가장인기있는렌더링기법이되었다. Mental Ray 가이기법을사용하고있으며 3D Studio MAX의플러그인렌더러인 Brazil Renderer, Final Render, V-Ray 역시이기법을사용하고있다. 103
5. 그림자생성렌더링된영상의사실감을높이고사용자가공간적관계를결정하는데그림자가중요한역할을담당하고있으며, ( 그림 7) 에서보는것과같이광원의개수및위치에따라다르게생성되어야하기때문에해결이어려운분야로간주되고있다. CG에서의그림자는빛을전혀받지않는영역인 umbra에서빛을받는영역으로의급격한전환이일어나는하드섀도 (hard shadow) 와빛을전혀받지않는영역인 umbra 및그림자영역의부드러운전환이일어나는영역인 penumbra로구성된소프트 섀도 (soft shadow) 로분류된다. 게임등과같이영상의사실감보다는실시간성이중요시되는분야에서는하드섀도생성을사용하는데, 이를위한방법으로는섀도매핑 (shadow mapping) 알고리듬과섀도볼륨 (shadow volume) 알고리듬이있다. 영상의사실감이중요시되는분야에서는소프트섀도생성을주로사용하며, penumbra wedge를사용하는알고리듬, back projection을사용하는알고리듬, 동시에여러섀도맵을사용하는알고리듬등의여러방식들이제안되었다 [5]. 그러나현재까지소프트-섀도생성알고리듬들은너무느리거나앨리어싱이발생하는등의단점을가지고있어이를개선하기위한연구가활발히진행되고있으며상용렌더러에서도계속적인기능개선을시도하고있다. 6. BSP ( 그림 7) 광원크기에의한그림자변화 n차원공간장면을 n-1 차원하이퍼플레인 (hyperplane) 으로반복적으로나누어만드는트리구조로충돌감지 (collision detection), 은면제거, 레이트레이싱, 솔리드모델링까지다양한분야에서사용되고있다. BSP 트리는사용목적에따라 division 방식이조금씩달라지는데, 예를들어충돌감지를위한 BSP 트리는각파트가개별적으로충돌감지될수있는수준으로나누어지며렌더링을위한 BSP 트리는오브젝트들의깊이를측정하는화가알고리듬 (painter s algorithm) 이사용될수있도록각파트가 convex subspace 가될때까지나누어진다. 개체나관찰자의위치가변하는모든장면마다화가알고리듬을적용하여오브젝트를다시재정렬하는것은상당한양의계산을필요로하게되지만 BSP 트리를이용하면장면에서오브젝트의상대적인위치를저장할수있기때문에관찰시점이바뀔때마다재정렬을해줄필요는없어렌더링시간을절약할수있다 [6]. ( 그림 8) 은 BSP 트리를구성하는과정을나타내는예이다. BSP 트리외의다른공간분할방법으로는각영역을 4개와 8개로나누는 Quadtree 와 Octree 가있 104
장호욱외 / 사실적장면표현을위한렌더링기술동향 ( 그림 8) BSP 트리는데 BSP 트리가모든 n차원공간에서사용될수있는반면이들은 2차원과 3차원공간에서만사용될수있다. 7. HDRI 렌더링이미지에는 LDRI와 HDRI의두가지종류가있는데 LDRI는일반적인비트맵방식의이미지를말하며 JPEG, TIFF, BMP 등의형식으로픽셀당 8비트인 256가지모드의색을표현할수있다. HDRI는단순히색상을저장하는 LDRI와달리각픽셀들이색상과함께밝기강도값을저장하고있어이미지의표현폭이아주높아지게되며, 이런빛의양정보는하나의이미지에서동일한색상을가진픽셀간의구별을가능하게만들어준다. 예를들어하얀색의종이와하얀색의태양광을구분할수있는픽셀의에너지정보가각각의픽셀에함께저장된다. HDRI 렌더링은 CG가가지는궁극적목표인실세계와구분할수없는사실적인렌더링을위한기술로실세계조명정보를저장하고있는래디언스맵 (radiance map) 을조명정보로서사용하고래디언스렌더링시스템의전역조명알고리듬을이용하여가상물체를사실감있게렌더링한다. 현재중급이상의상용렌더러에서는모두 HDRI 렌더링기능을제공하고있다. 8. 분산렌더링네트워크상의여러대의컴퓨터나멀티프로세스컴퓨터의여러개의프로세스를사용하여작업량을 분산함으로써전체렌더링시간을줄이는기능으로네트워크의속도와렌더링을수행하는모든컴퓨터의성능을최적화할경우최고의효과를보인다. 분산렌더링을구축하기위해서먼저렌더링과정을병렬화시켜야하는데여러프로세서사이의통신, 적절하지못한작업분배에의한지연, 추가적인계산및저장공간요구와같은부작용이발생할수있어업무를효율적으로분배해야한다. 렌더링과정의병렬화종류는다음과같다. 함수병렬성 : 렌더링과정을여러개의함수로나누고하나의프로세서를각함수에배정하는방식으로, 수행시간이 1/ 파이프라인단계수로줄어들지만파이프라인의성능이가장느린단계의성능에의해결정될위험성이있으며파이프라인의단계수에의해성능이제한받는단점이있다. 데이터병렬성 : 데이터를여러개의스트림으로나누어각아이템들이동시에렌더링되는방식으로, 렌더링파이프라인의단계가아닌프로세서의수에따라성능이제약받으며각프로세서사이의데이터로전달되는네트워크성능이중요한요소가된다. 데이터병렬성은프로세서의수가많을수록좋은성능을얻으며프로세서수에따라병렬성이가변적인특성이있다. 시간적병렬성 : 수많은프레임을만들어야하는애니메이션제작에서시간간격으로작업을나누며각프로세서가자신이렌더링해야할프레임을할당받아서작업을수행하게된다. 하이브리드병렬성 : 여러병렬방식을같이사용하는방법으로함수단계들로렌더링프로세서를나눈다음각함수를여러개의프로세서들에할당하여수행시킨다. 현재 POV-Ray 를제외한대부분의유명렌더러들이분산렌더링기능을제공하고있으며, POV- Ray의경우에도패치소프트웨어및지원도구들을통해분산렌더링을구현할수있다. 105
Ⅲ. 렌더러기술동향 1. Render Man Render Man은 PRMan 과 RISpec의두가지의미가함께사용되고있는데 RISpec은모델러와렌더러간의표준프로토콜을정의한인터페이스이며 [7], PRMan 은 RISpec에기반하여개발된사실적장면생성을위한렌더러이다. RISpec에기반한다른렌더러들로는 BMRT와 Aqsis 렌더러를들수있으며, 이들을 RenderMan Compliant 렌더러로부르고있다. PRMan은 Reyes 구조에의한렌더링처리를수행하는데, Reyes 구조는복잡한장면을고품질로비교적빠른시간에처리하는목표를가지고마이크로폴리곤기본단위처리를하며레이트레이싱보다는텍스처매핑위주의렌더링과정을수행하여왔다 [8]. PRMan의초기버전에서는레이트레이싱을비롯한전역조명기능을제공하지않은관계로반사나굴절등의효과를자동적으로렌더러차원에서만들어주지못하고대체솔루션기술을발전시켜왔으나, V11가발표되면서전역조명, 딥섀도 (deep shadow) 기능이 Reyes 구조에통합되면서좀더정확한장면표현을나타낼수있게되었다. 이와함께 Render Man은셰이딩언어를제공하는데, 이언어는절차적언어이며확장성이높고 C/C++ 형태로프로그래밍하여 Render Man에동적으로링크할수있는특성을갖고있으며실사적시각효과를나타내는요소를가지고있다 [9]. 현재현장에서사용되는대부분의오프라인렌더러는어떠한형태로든셰이딩언어를지원하는데, Render Man 셰이딩언어는가장확실하고잘알려진셰이딩언어로평가받고있다. 2. Mental Ray 독일의 Mental Images사에서개발된레이트레이싱렌더링소프트웨어로 CAD/CAM 분야에서독보적인위치를차지하면서세계굴지의자동차회사 들의제품디자인의곡선표면을수치적으로정확하면서도가장뛰어난품질로렌더링하여왔다. Mental Ray가 3D CG 분야에서처음모습을드러낸것은 1993년하이엔드 CG 시장을겨냥한 SoftImage 사의디지털스튜디오계획의일환으로 Mental Ray 를 SoftImage 3D에내장되면서부터이다. 현재는 SoftImage 3D의최신모델인 SoftImage XSI 외에 Maya, 3DS Max, Avid 3D 등의다양한소프트웨어와의통합과 Macintosh, IBM-PC, SGI, Linux 등의다양한하드웨어및 OS 플랫폼에서의운용이가능하다 [10]. 빛의사용에중점을두어한줄기빔이아닌액티브빔효과를사용하는 Render Man과의기술차별화에노력하여그동안 Render Man이독점하다시피한영화제작프로세스에도 Render Man을위협하는경쟁자로올라섰다. 3. POV-Ray POV-Ray 는네트워크를통하여모인자발적프로그래머모임에의해개발되고있는렌더러로, 1980년대에만들어진 DKBTrace 를개선및확장한프로그램이다. POV-Ray는다양한기하구조및광원지원을비롯한고급기능과방대한라이브러리까지제공되면서무료로제공된다. 셰이더플러그인제공등의 Render Man이나 Mental Ray에비해다소부족한기능들은방대한 third-party 지원을이용해보완할수있으며다양한패치소프트웨어, 지원도구, 텍스처, 모델링데이터, 튜토리얼들을웹에서손쉽게발견할수있다 [5]. 상업적목적이외의 POV-Ray 의소스및바이너리코드는무료배포가가능하여현재해외에서는컴퓨터그래픽스수업의교재로 POV-Ray를활용하는대학들이늘어가는추세이다. 앞절에서기술한 Render Man과 Mental Ray는스캔라인렌더링기본구조에레이트레이싱을비롯한전역조명기능을통합한형태로발전하여왔으나 POV-Ray는레이트레이서 (ray tracer) 에서출발하여다른기능들을확장하여현재의구조로발달하였다. 또한 POV-Ray 는 NURBS를사용하는다 106
장호욱외 / 사실적장면표현을위한렌더링기술동향 른대다수모델러 / 렌더링소프트웨어에비해수학적정의를사용하여오브젝트를나타내기때문에 POV- Ray 파일들은 POV-Ray 스크립팅언어의실제소스코드로되어있다. 이코드는프로그래밍언어에서일반적인많은특성들과데이터파일에서비정형적인특성 ( 변수, 루프, 수학적함수, 매크로등 ) 들을포함하고있어단순숫자보다훨씬추상적인방식으로사물을기술할수있다. 이러한이유때문에 POV-Ray 파일들은다른렌더러에서읽을수있도록변환하기어려우며스크립팅언어를인터프리트 (interpret) 하는변환과정과오브젝트의수학적표현을삼각형으로변환하는 tessellation 과정이필요하다 [11]. POV-Ray 의단점으로는멀티- 쓰레드로운용하여렌더링시간을줄이기가까다롭다는점을들수있다. POV-Ray에서멀티- 쓰레드프로그래밍이불가능하지는않지만다양한범주의플랫폼에서포터블하게사용되는철학을가진 POV-Ray 의특성상간단히해결할수있는문제는아니다. 일반적으로 POV-Ray 렌더링엔진은싱글- 쓰레드로동작하므로듀얼펜티엄프로세서에서 POV-Ray 를운용하면각 CPU 파워의 50% 정도만사용하게된다. POV-Ray 를멀티프로세서에서돌려렌더링시간을줄이려면여러카피의 POV-Ray 를운용하는방식을사용해야한다. 또한 3D 비디오카드를사용하더라도 POV-Ray 의속도가빨라지지않는데, 일반적으로 3D 비디오카드는광선추적법알고리듬을위해디자인되어있지않고폴리곤메시를읽어들이고이들을위한스캔라인렌더링가속화를위한목적으로많이사용되고있다. 이에따라 POV-Ray 의렌더링속도를높이기위해서는광선추적법과정에필요한많은수의부동소수점계산시간을줄이기위해빠른 FPU를사용하는것이최선의방법으로간주되고있다. POV-Ray의공식버전은단일호스트에서렌더링하는구조로되어있으나비공식패치인 PVM 패치와관련도구로개발된 POV-Anywhere는여러시스템에분산하여렌더링할수있는기능을제공하고있다. 4. Brazil Renderer Brazil Renderer는 BLUR 사의 Ghost Renderer 개발자들이독립하여만든렌더러로오랜기간동안베타테스트를통해문제점을찾고해결하면서성숙한단계로발전하였다. Brazil Renderer는전역조명계산에서몬테카를로엔진 (Monte Carlo Engine) 을채택하고있는데이엔진은완전한물리적기반의정확한계산능력때문에빛의행동을가장근접하게접근할수있는방식이나다른전역조명엔진에비해훨씬많은메모리와계산시간을필요로한다. 이에따라 Monte Carlo 방식에서난수에대한계산법을보완하여개발된 Quasi Monte Carlo 방식을주로사용하고있으며이방식은 V- Ray를비롯한다른렌더러에서도채택하여사용되고있다. 최신버전의 Brazil Renderer에서는스킨셰이더 (skin shader) 도새롭게추가되었으며셰이더옵션중에는 SSS의 3단계깊이에대한부분과 cell structure라고부르는피부조직에대한조정도가능하다. 또한브라질렌더러에는 BCM이라부르는전용카메라가있는데다양한렌즈타입을제공하고있으며 360의구형이미지를위한환경매핑, Orthographic View, VR을위한파노라마기능을제공한다. 이와함께화면상의오브젝트가실사처럼공간감이느껴지도록정교하고자연스럽게그림자가뿌려지도록하는소프트섀도와영역섀도 (area shadow) 기능을제공하고있다 [12]. 경쟁제품들인 Final Render 와 V-Ray 와비교하면렌더링시간은가장많이걸리지만특유의독특한색감과탁월한계산능력때문에가장훌륭한전역조명결과물을만든다는사용자들의평가이다. 5. Final Render Final Render는 3DS Max와의결합정도에따라 stage-0, stage-1 이있으며 Maya 용 stage-2 가현재개발중에있다. Stage-0는스캔라인렌더러를전면에두는구조로되어있으며 Stage-1 은 semiexternal 렌더링시스템으로되어있으며추가기능 107
들은 stage-1 의서비스팩 1/2를통해제공하고있다. Final Render는전역조명을위해 Quasi Monte Carlo, Hyper GI, FR Image의 3가지엔진을탑재하고있으며초기 stage-0부터발전시켜온 FR Image 를핵심렌더링엔진으로사용하고있다. Hyper GI는래디오시티방식으로초기에모델에면을정해준수치만큼분할하여분할면에조명정보를함축하여근거리의면끼리빛에대한정보를계산하는방식으로 Brazil Renderer의주력렌더링기법인 Quasi Monte Carlo는빛에대한시뮬레이션을가장사실적으로계산한다고평가되는방식이다 [13]. Final Render는다른렌더러에비해다양한옵션과기능들이있어약간복잡하다는평을듣고있으며셰이더의사용편이성과다양한재질표현이좋아인테리어장면에서성능이탁월하다. 또한분산렌더링성능이경쟁렌더러에비해가장우수하다는평을듣고있다. 6. V-Ray 2002년이전에는베타테스트버전으로무료로배포되어개발되어왔으며 2002년 2월에정식으로상용화가되었다. V-Ray의핵심렌더링엔진은 irradiance map으로이것은물체에직접맵을만들어전역조명을표현하는렌더링방식으로렌더링작업을시작하기전에각각의픽셀마다전역조명샘플을만들어블록으로계산한후전역조명샘플에저장하여빠르게결과물을얻는방식으로, 필요한부분에만 irradiance map 계산을하여보다빠르고정확한결과물을만들어준다. V-Ray는다른고급렌더러와비슷한기능들을제공해주는데포톤매핑, 코스틱, 스페셜카메라, 3D 모션블러등을지원한다 [14]. V- Ray의장점은경쟁렌더러들에비해렌더링시간이빠른것과보다단순하고적응력이높은구조인것, 높은품질의섀도를빨리계산할수있다는점을들수있으며사용자층이가장넓다는점을들수있다. 단점으로는셰이드서비스가경쟁렌더러들에비해부족하다는평가를받고있다. Ⅳ. 결론 고품질의사실적인영상생성을위한렌더링의중요성이부각되면서다양한렌더링기법연구와개발이진행되고있다. 렌더링과정은수작업으로성능개선이거의불가능하여사용자들이사용하는렌더러기능에의해렌더링품질이좌우되고있다. 또한렌더링은 CG 영상콘텐츠제작뿐아니라 VR, 게임, 산업용디스플레이, 영상콘텐츠스트리밍서비스, 화상통신등의다양한응용분야에서활용가능한핵심기술로간주되고있다. 외국유명콘텐츠제작사들은고유한장면표현을위해상용렌더러와함께자체적으로개발한렌더러를함께사용하고있어, 상용렌더러에서부족한기능을보완하고있으나국내에서는렌더러개발노하우가없어콘텐츠제작시외국렌더러에의존하고있는실정이다. 상용렌더러들의기능은각자의고유한특성을가지고있던몇년전과달리최근에는비슷하게수렴되고있는상태이다. 예로과거 Mental Ray 등일부렌더러에서만제공되던전역조명기능을보면현재본문서에서분석한모든렌더러에서제공되고있으며 Maya 나 3DS Max 등의특정 CG 통합도구와연계되어왔던렌더러들이다른 CG 통합도구까지지원폭을넓혀가고있다. 기존상용렌더러들은실시간과고품질의두가지목적을한꺼번에얻기위한노력을계속하고있으며하드웨어성능의발전과함께렌더링속도도급속히빨라지고있으나, 실제와구별할수없을수준의사실적영상을생성하기위해서는아직도상당한렌더링시간을필요로하고있다. 이에따라극사실적장면들을렌더링해야하는영화제작시에는수백 ~ 수천개의렌더링호스트들을연결한렌더팜시스템을이용하여제작시간을줄이는노력을하고있다. 그러나렌더팜을구축하는것은상당한비용을부수적으로요구하므로적은비용으로고속렌더링작업을수행할수있는고속렌더러에대한요구가증대하고있다. 108
장호욱외 / 사실적장면표현을위한렌더링기술동향 BMRT BRDF BSP BSSRDF CG FPU HDRI LDRI PRMan PVM RISpec 약어정리 Blue Moon Rendering Tools Bidirectional Distribution Function Binary Space Partitioning Bidirectional Surface Scattering Distribution Function Computer Graphics Floating Point Unit High Dynamic Range Image Low Dynamic Range Image Photo Realistic Render Man Parallel Virtual Machine The RenderMan Interface Specification 참고문헌 [1] R.L. Cook, T. Porter, and L. Carpenter, Distributed Ray Tracing, ACM Computer Graphics, Vol.18, July 1984, pp.137 145. [2] Kari Puli and mark Segal, Fast Rendering of Sub- division Surfaces, Proc. of the 7th Eurographics Workshop on Rendering, 1996, pp.61-70. [3] http://graphics.uscd.edu/~henrik/images/subsurf.html [4] Henrik Wann Jensen, Realistic Image Synthesis Using Photon Mapping, AK Peters, 2001. [5] Ulf Assarsson & Tomas Akenine-Moller, A Geometry-based Soft Shadow Volume Algorithm Using Graphics Hardware, ACM Transactions on Graphics, Vol.22, No.3, July 2003, pp.511-520. [6] http://en.wikipedia.org/wiki/binary_space_partitioning [7] Steve Upstill, The Renderman Companion, Addison-Wesley, 1990. [8] Robert L. Cook, Loren Carpenter, and Edwin Catmull, The Reyes Rendering Architecture, ACM Computer Graphics, Vol.21, No.4, July 1987, pp.95-102. [9] http://renderman.pixar.com [10] http://www.mentalimages.com [11] http://www.povray.org [12] http://splutterfish.com [13] http://www.finalrender.com [14] http://www.chaosgroup.com/software/vray/ 109