fur rendering

17
Real-time Fur Rendering Basic http://cafe.naver.com/shader 임용균 ([email protected])

Upload: yong-gyun-im

Post on 09-Jul-2015

905 views

Category:

Technology


3 download

DESCRIPTION

Computer GraphicsShader

TRANSCRIPT

Page 1: Fur rendering

Real-time Fur Rendering Basic

http://cafe.naver.com/shader

임용균 ([email protected])

Page 2: Fur rendering

Fur?!?

…..

Page 3: Fur rendering

Real-time Fur Rendering

• Cone

▫ 현재의 하드웨어에서 너무 느리다. 낮은 필터링 퀄리티

• Line

▫ 털이 너무 없어 보인다. 낮은 필터링 퀄리티

Page 4: Fur rendering

Real-time Fur Rendering

• Shells

▫ 원래의 geometry를 각 edge의 normal 방향으로 옮긴 방법.

• Fins

▫ 각각의 edge를 normal방향으로 밀어낸 추가의 geometry를

이용하는 방법.

• Shells & Fins

Page 5: Fur rendering
Page 6: Fur rendering

Shell Textures

(a) geometric hair (b) shell textures (c) fin texture

Page 7: Fur rendering

Generating Shell Textures

a. ‘curl’ 들을 시작점으로 설치 한다. (파티클 시스템 같이 자라남)

b. ‘curl’ 들을 보간 하여 원하는 만큼의 fur를 생성한다.a. 속도를 위해 hair to hair 충돌은 무시한다.

c. 볼륨 텍스쳐화 한다.

a. color, opacity

Page 8: Fur rendering

Problems with Shell Textures

• Surface Parametrization

▫ 임의의 표면(Arbitrary Surface)에 적용할 수 있어야 한다.

• Texture Memory Usage

▫ 전체 표면을 몇 개의 shell로 표현 할 수 있어야 한다.

Lapped Volume Texture

• Poor silhouettes

Fin Textures

Page 9: Fur rendering

texture patch

surface

Lapped Textures

Page 10: Fur rendering

Fin Textures

offset shells

original mesh extruded

fin

fade based on viewing angle : scale * (fabs(EdotN) - offset)

Page 11: Fur rendering

Runtime Rendering

• Surface Rendering▫ 먼저 전체 메쉬의 불투명한 부분을 렌더링 한다. Z-Buffer를 설정한다. (Z-

Test, Z-Write Enable)

• Fin Rendering▫ No Z-Buffer Writing

• Shell Rendering▫ 가장 안쪽의 shell부터 가장 바깥쪽의 shell까지 차례대로 렌더링 한다.

(shell texture 이용)

▫ No Z-Buffer Writing

▫ 커다란 patch를 타일링 하기 위해 texture wrapping enable.

Page 12: Fur rendering

Simple Implementation (VS)

Page 13: Fur rendering

Simple Implementation (PS)

Page 14: Fur rendering

Simple Implementation (Direct3D9)

Page 15: Fur rendering

Fur Shadowing

• UV Offset

Page 16: Fur rendering

Simple Implementation Result

Page 17: Fur rendering

References

• Real-Time Fur and More: Xbox Visual Effects

• Real-Time Fur over Arbitrary Surfaces

• Generating Fur in DirectX or OpenGL Easily -http://www.xbdev.net/directx3dx/specialX/Fur/index.php