10_Human Skin Rendering

1,733 views

Published on

피부 렌더링 개요

  • Be the first to comment

10_Human Skin Rendering

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

×