16
Realtime 3D Sumi-e Rendering original paper by {sjkang, chkim}@cgvr.korea.ac.kr http://cafe.naver.com/shader 임용균 ([email protected])

Sumie rendering

Embed Size (px)

Citation preview

Realtime 3D Sumi-e Rendering

original paper by {sjkang, chkim}@cgvr.korea.ac.kr

http://cafe.naver.com/shader

임용균 ([email protected])

수묵화(Sumi-e)?

• 동양화의 한 장르로 단색(먹색)

• 필력에 의한 선의 아름다움

• 농담에 의한 먹색의 변화로 색상을 대체

수묵화(Sumi-e)?

• 구륵법(gu-ruk)▫ 물체의 윤곽을 먼저 그린다.

▫ 그 안에 농담이나 채색을 한다.

• 몰골법(Mol-gol)

Motivation

• 임의의 3D 모델로부터 수묵화 렌더링 결과를 얻는다.

Sumi-e Rendering Process

• 농담 효과(Nong-Dam Effect)

▫ 수묵화에는 빛에 의한 명암 효과는 살펴 볼 수 없음.

▫ 양감을 나타내는 수단으로 먹과 색채의 농담의 변화가 표현

▫ 중심 내부에서 외부로 갈때 농묵에서 담묵으로 변화함.

• 윤곽선(Brush Stroke Effect)

▫ 선은 물체의 모양과 화가의 감정을 나타낸다. 수묵화는 윤곽

선이 일정하지 않다.

• 발묵 효과(Bal-Muk Effect)

▫ 붓에 함유된 물과 먹의 비율에 따라 종이 상에서 불규칙적인

농담 변화를 보이는 효과.

Sumi-e Rendering Process

• 내부 생략 효과(Atmospheric Depth & Inside Omission)

▫ 단순화와 생략이 적용되어 물체의 내부 모습이 추상화되어

간략하게 묘사 된다.

• 종이 번짐 효과(Paper Effect)

▫ 각각의 펄프에 따라 먹의 입자가 흡착되어 진행되는 현상으

로 각 재질의 펄프 분포 정도와 흡습도에 많은 영향을 받게

된다.

▫ 여러 종이의 재질을 선택적으로 적용할 수 있어야 한다.

Sumi-e Rendering Process

종이 번짐 효과

이미지 프로세싱

내부 생략 효과

내부 생략 효과 shader

발묵 효과

쉘 텍스쳐 3D 볼륨 텍스쳐

농담 변화

농담 효과 shader

윤곽선

생략 효과 shader 붓 터치 효과 shader

윤곽선(Brush Stroke Effect)

• 윤곽선 생략 효과 : 1D Warping Texture로 근사

▫ 1st_silhouette_1D_texture_index = max{(C • N), 0}

C : view space vector from vertex to closure effect position

N : view space vertex normal

윤곽선(Brush Stroke Effect)

• 붓 터치 효과 : 여러 번짐 효과 텍스쳐 세트를 Sphere Mapping하여 추가

적인 2차 윤곽선 표현

▫ view_space_reflection_vector r r = 2(N • E) • N – E

E : view space eye position vector

N : view space vertex normal

▫ 2nd_silhouette_2D_texture_index_u = rx/2m + 0.5

▫ 2nd_silhouette_2D_texture_index_v = ry/2m + 0.5

• 생략 효과와 붓 터치 효과를 결합하여 윤곽선을 나타낸다.

222)1( zyx rrrm

농담 변화(Nong-Dam Effect)

• 농담 효과 : 중심에서 외곽으로 갈수록 alpha값을 낮게 한다.

▫ Nong_Dam_Alpha = (V – C)•N

V: view space vertex position

C: view space nong-dam effect center position

N: view space vertex normal

▫ 일정한 한계치로 알파테스트를 수행하여 윤곽선 부근에서 외형 생

략 효과와 실루엣 드로잉 효과가 나타날 수 있도록 한다.

발묵 효과(Bal-Muk Effect)

• 발묵 효과 : 불규칙한 볼륨감 표현, 3D 볼륨 텍스쳐를 멀티 텍스쳐링

▫ shell_vertex_position = Vo + (h/m)•N Vo: original view space vertex position

h: shell level

m: maximum number of shells

N: view space vertex normal

▫ shell_texture_z_index = 1 / {k•(h/m)^q

k : scaling value

h : shell level

m : maximum number of Shells

q : attenuation factor

내부 생략 효과(Inside Omission)

• 내부 생략 효과 : spherical fogging을 이용

▫ inside_closure_effect_value = {(Vo – C)/(Vmax – C)}^q Vo: view space vertex position

C: view space object center position

Vmax: maximum vertex position from center C

q: attenuation factor

종이 번짐 효과(Paper Effect)

• 종이 번짐 효과▫ 종이 버퍼에 각 재질 속성별로 불규칙한 펄프의 분포값을 배정

▫ 이미지 처리(image processing)를 수행하여 최종 밝기값을 구함

▫ 기존의 렌더링 영상 결과와 블랜딩하여 최종 결과물 생성

l : pulp length

)22

(2

sin_l

xl

l

xcpospulp

결과

기본 윤곽선 + 복합 윤곽선 + 농담 변화

기본 윤곽선 + 농담 변화 + 발묵 효과

결과

기본 윤곽선 + 복합 윤곽선 + 농담 변화

+ 발묵 효과 + 내부 생략 효과

References

• Real-Time 3D Sumi-e Painting [Shin-Jin Kang, Chang-Hun Kim]