10_Human Skin Rendering

  • 1,054 views
Uploaded on

피부 렌더링 개요

피부 렌더링 개요

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,054
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
10
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Human Skin Rendering
    김성익 noerror@softnette.com
    2010/08/22
    KASA
  • 2. 실시간 피부 렌더링
    최근 하이엔드 게임에서사실적인 피부 렌더링은 기본이 됨
  • 3. 피부 특징 (1)
    피부의 구성
    표피 epidermis
    진피 dermis
    피하지방층 subcutaneous fat
    빛이 피부 안에서 산란SubSurface Scattering (표면하산란)반투명 물체 내부에서 일어나는 산란
    반투명 BSSRDF 모델
    반투명 특성으로 피부에는 빛이 드리워 졌을 때 부드럽게 스며드는 효과가 나타남
  • 4. 피부 특징 (2)- 산란
    그림자 영역과 빛을 받는 영역 사이의 경계가 부드럽다
    비교 피부와 불투명 재질에 드리워진 그림자
    일반적인 소프트 셰도우 이슈와는 다른 성격
  • 5. 피부 특징 (3) - 산란
    산란색이 약간 붉은 색의 특성을 띰
    피부 내부 표피의 필터링 효과
    멜라닌 (갈색)
    카로틴 (오렌지색)
    헤모글로빈 (적색, 분홍색)
    파장의 성분으로 보면 장파장(적색)에 좀 더 높은 반사 특성
  • 6. 피부 특징 (4)– 투과
    피부의 두께에 따라 투과도가 다름얇은 피부는 투과되어 보임
  • 7. 피부 렌더링 파이프라인
    텍스처 스페이스의 피부 렌더 텍스처 렌더링
    오리지널 피부의 텍스처
    라이팅
    그림자
    피부 렌더 텍스처를 단계별로 가우시안블러
    (텍스처에 피부의 두께 렌더링)
    화면에 피부 텍스처를 이용하여 렌더링
  • 8. Nvidia Human Head Demo
    (이미지 Siggraph 2010 dice문서발췌)
    Efficient Rendering of Human Skin - Eurographics Symposium on Rendering 2007
  • 9. 파이프 라인 최적화(1)
    Fast Skin Shading - ShaderX7
    스킨 텍스처의 레이어별가우시안블러 텍스처 없이 렌더링
    한 장의 가우시안 블록 텍스처만으로 렌더링
    블러 텍스처 없이 최종 렌더링에서셈플링
  • 10. 파이프 라인 최적화(2)
    12개의 샘플링만으로 블러+ 피부산란
    레이어 별로 가우시안 텍스처 사용한 결과 값에 근사
    퍼포먼스에 따라 샘플링한 텍스처를 사용하거나 최종 패스에 직접 샘플링(품질 차이는 거의 없으며 퍼포먼스 이슈)
  • 11. 투과
    두께를 이용하여 투과된 빛의 양을 계산
  • 12. 피부 두께 근사화
    두께를 실시간으로 구하는데어려움이 있음. 근사화하여 사용
    Translucent Shadow Map
    라이트 시점에서 Depth 렌더링
    Z 버퍼 없이 depth를 pixel op를min 으로도 가능
    프로젝션 위치와 깊이 버퍼를깊이 값을 이용해서 임의의위치에서의 두께 계산
    Convex가 아닌 경우 올바른계산법은 아님 (그래도 비교적 무난한결과가 나오는 것으로..)
    두께를 SH계수로 굽는 방법
    각 버텍스에서 전 방향의 두께를 구한 후 SH 계수로 압축하여 버텍스에 저장
    탄젠트 스페이스로 가지고 있으면 좀 더 정확한 근사, 애니메이션에도 사용 가능
    굉장히 저렴한 셰이더 코드 (1채널 SH디코드)
    http://www.youtube.com/watch?v=_UMpeSEAwik
    ^^
  • 13. 참고
    Uncharted 2: Character Lighting and Shading, John Hable, SIGGRAPH 2010
    Efficient Rendering of Human Skin, Eugene d'Eon, David Luebke, and Eric Enderton, Eurographics 2007
    Fast Skin Shading, John Hable, George Borshukov, and Jim Hejl, ShaderX7
    Real-Time Realistic Skin Translucency, Jorge jimnez, David Whelan
    http://www.gamedev.net/community/forums/topic.asp?topic_id=553749