한국HCI학회논문지 (Journal of the HCI Society of Korea)
- 제1권1호
- /
- Pages.37-44
- /
- 2006
- /
- 1976-0671(pISSN)
- /
- 2671-7611(eISSN)
주곡률 해석 기반의 투영 텍스처를 이용한 스타일 반사 효과
Stylized Specular Reflections Using Projective Textures based on Principal Curvature Analysis
초록
물체의 반사 효과는 물체의 재질, 기하학적 모양 및 조명 환경을 표현하는데 있어 매우 중요한 요소이다. 사진품질을 추구하는 사실적 렌더링에서는 기존의 국소 반사 모델을 사용하여 좋은 결과를 얻을 수 있지만, 사용자의 주관이 중시되는 비사실적 렌더링에서는 사용자가 원하는 반사 효과를 표현할 수 있어야 한다. 텍스처는 사용자가 원하는 반사 효과를 직관적으로 표현할 수 있는 수단이며, 이 텍츠처를 모델에 투영하면 원하는 반사 효과를 얻을 수 있다. 이 때 사용자는 텍스처가 투영될 위치와 크기, 방향을 직접 키프레임으로 정해 줄 수 있다. 그러나 모든 반사 효과를 사용자가 직접 정해준다는 것은 번거로운 일이며, 아울러 실시간 응용분야에는 적용할 수 없는 단점이 있다. 본 논문에서는 국소반사모델과 주곡률 해석을 통해 반사 효과의 위치, 방향 및 크기를 결정하기 위한 텍스처 투영기의 새로운 설정 방법을 제시한다. 광원과 시점 정보로부터 주어진 모델 위에서 최대 명점을 구한 후, 텍스처 투영기를 최대 조명점을 지나는 법선 벡터에 평행한 직선 위에 위치시킨다. 투영기의 방위를 최대 조명점에서의 주방향에 따라서 일치시키고, 투영기의 투영 피라미드의 크기를 주곡률에 따라서 결정한다. 텍스처 투영기의 단순한 이동, 회전 및 주곡률 값의 조절을 통하여 반사 영역의 이동, 회전 및 확대/축소가 가능하다. 본 논문에서 제시한 방법은 DirectX 9.0c와 프로그램이 가능한 셰이더 2.0을 사용하여 GeForce FX 7800 그래픽 카드에 구현되었다. 본 논문의 연구 결과는 만화적 표현을 추구하는 게임 등과 같은 실시간 응용분야에 사용될 수 있으며, 실험 결과에 의하면 수만 개의 다면체 모델에 대한 스타일 반사효과를 실시간에 렌더링할 수 있다.
Specular reflections provide the visual feedback that describes the material type of an object, its local shape, and lighting environment. In photorealistic rendering, there have been a number of research available to render specular reflections effectively based on a local reflection model. In traditional cel animations and cartoons, specular reflections plays important role in representing artistic intentions for an object and its related environment reflections, so the shapes of highlights are quite stylistic. In this paper, we present a method to render and control stylized specular reflections using projective textures based on principal curvature analysis. Specifying a texture as a pattern of a highlight and projecting the texture on the specular region of a given 3D model, we can obtain a stylized representation of specular reflections. For a given polygonal model, a view point, and a light source, we first find the maximum specular intensity point, and then locate the texture projector along the line parallel to the normal vector and passing through the point. The orientation of the projector is determined by the principal directions at the point. Finally, the size of the projection frustum is determined by the principal curvatures corresponding to the principal directions. The proposed method can control the position, orientation, and size of the specular reflection efficiently by translating the projector along the principal directions, rotating the projector about the normal vector, and scaling the principal curvatures, respectively. The method is be applicable to real-time applications such as cartoon style 3D games. We implement the method by Microsoft DirectX 9.0c SDK and programmable vertex/pixel shaders on Nvidia GeForce FX 7800 graphics subsystems. According to our experimental results, we can render and control the stylized specular reflections for a 3D model of several ten thousands of triangles in real-time.
키워드