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

More Related Content

What's hot

Gpg2권]4 9 하늘상자
Gpg2권]4 9 하늘상자Gpg2권]4 9 하늘상자
Gpg2권]4 9 하늘상자
Young-jun Jeong
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
noerror
 
GameMath-Chapter 07 조명
GameMath-Chapter 07 조명GameMath-Chapter 07 조명
GameMath-Chapter 07 조명
Mark Choi
 
후처리알아보기
후처리알아보기후처리알아보기
후처리알아보기
종규 우
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
동석 김
 

What's hot (20)

Gpg2권]4 9 하늘상자
Gpg2권]4 9 하늘상자Gpg2권]4 9 하늘상자
Gpg2권]4 9 하늘상자
 
Gamma and linear color-space
Gamma and linear color-spaceGamma and linear color-space
Gamma and linear color-space
 
Lighting model
Lighting modelLighting model
Lighting model
 
Cheap realisticskinshading kor
Cheap realisticskinshading korCheap realisticskinshading kor
Cheap realisticskinshading kor
 
언차티드4 테크아트 파트3 MicroShadowBRDF Term
언차티드4 테크아트 파트3 MicroShadowBRDF Term언차티드4 테크아트 파트3 MicroShadowBRDF Term
언차티드4 테크아트 파트3 MicroShadowBRDF Term
 
제노블레이도 2 ray marching을사용한 구름 표현
제노블레이도 2 ray marching을사용한 구름 표현제노블레이도 2 ray marching을사용한 구름 표현
제노블레이도 2 ray marching을사용한 구름 표현
 
Deferred decal
Deferred decalDeferred decal
Deferred decal
 
리얼타임 렌더링 - 조명 입문편 -
리얼타임 렌더링 - 조명  입문편 -리얼타임 렌더링 - 조명  입문편 -
리얼타임 렌더링 - 조명 입문편 -
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
물리 기반 셰이더의 이해
물리 기반 셰이더의 이해물리 기반 셰이더의 이해
물리 기반 셰이더의 이해
 
GameMath-Chapter 07 조명
GameMath-Chapter 07 조명GameMath-Chapter 07 조명
GameMath-Chapter 07 조명
 
3 d란
3 d란3 d란
3 d란
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17
 
후처리알아보기
후처리알아보기후처리알아보기
후처리알아보기
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
Bump Mapping
Bump MappingBump Mapping
Bump Mapping
 

Viewers also liked

개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]
개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]
개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]
나경 안
 
이바인제품설명
이바인제품설명이바인제품설명
이바인제품설명
ebainbiz
 
09_Dxt 압축 알고리즘 소개
09_Dxt 압축 알고리즘 소개09_Dxt 압축 알고리즘 소개
09_Dxt 압축 알고리즘 소개
noerror
 
KGC04_실시간애니메이션이해와응용
KGC04_실시간애니메이션이해와응용KGC04_실시간애니메이션이해와응용
KGC04_실시간애니메이션이해와응용
noerror
 
효성블루챌린저 2조발표 ppt_최종발표
효성블루챌린저 2조발표 ppt_최종발표효성블루챌린저 2조발표 ppt_최종발표
효성블루챌린저 2조발표 ppt_최종발표
소현 김
 
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
Sang Don Kim
 
은수
은수은수
은수
nexfra
 

Viewers also liked (20)

net helper7 통합 제안서_시온
net helper7 통합 제안서_시온net helper7 통합 제안서_시온
net helper7 통합 제안서_시온
 
고양 - 리드미
고양 - 리드미고양 - 리드미
고양 - 리드미
 
실내디자인학회 자유주제 대상_human_배경
실내디자인학회 자유주제 대상_human_배경실내디자인학회 자유주제 대상_human_배경
실내디자인학회 자유주제 대상_human_배경
 
포트폴리오
포트폴리오포트폴리오
포트폴리오
 
2014 인권재단 연간리포트 web final
2014 인권재단 연간리포트 web final2014 인권재단 연간리포트 web final
2014 인권재단 연간리포트 web final
 
개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]
개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]
개성과라이프스타일,고관여제품군,정신분석이론,자아개념[1]
 
뷰티 스쿨 11월 강의
뷰티 스쿨 11월 강의뷰티 스쿨 11월 강의
뷰티 스쿨 11월 강의
 
Jaanalind
JaanalindJaanalind
Jaanalind
 
계획안
계획안계획안
계획안
 
이바인제품설명
이바인제품설명이바인제품설명
이바인제품설명
 
아토피와 보습
아토피와 보습아토피와 보습
아토피와 보습
 
09_Dxt 압축 알고리즘 소개
09_Dxt 압축 알고리즘 소개09_Dxt 압축 알고리즘 소개
09_Dxt 압축 알고리즘 소개
 
KGC04_실시간애니메이션이해와응용
KGC04_실시간애니메이션이해와응용KGC04_실시간애니메이션이해와응용
KGC04_실시간애니메이션이해와응용
 
Daegu fc 성서 지역 마케팅 제안
Daegu fc 성서 지역 마케팅 제안Daegu fc 성서 지역 마케팅 제안
Daegu fc 성서 지역 마케팅 제안
 
효성블루챌린저 2조발표 ppt_최종발표
효성블루챌린저 2조발표 ppt_최종발표효성블루챌린저 2조발표 ppt_최종발표
효성블루챌린저 2조발표 ppt_최종발표
 
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
 
3D 레이저 스캐닝
 3D 레이저 스캐닝 3D 레이저 스캐닝
3D 레이저 스캐닝
 
은수
은수은수
은수
 
design for human
design for humandesign for human
design for human
 
[MakeON] 피부순환케어
[MakeON] 피부순환케어[MakeON] 피부순환케어
[MakeON] 피부순환케어
 

Similar to 10_Human Skin Rendering (6)

구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
Unity 3d study #3
Unity 3d study #3Unity 3d study #3
Unity 3d study #3
 
Digital lighting and rendering
Digital lighting and renderingDigital lighting and rendering
Digital lighting and rendering
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stday
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 

More from noerror

NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
noerror
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
noerror
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
noerror
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
noerror
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrains
noerror
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
noerror
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기
noerror
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
noerror
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개
noerror
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
noerror
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개
noerror
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editor
noerror
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
noerror
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
noerror
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)
noerror
 
06_앰비언트어클루전 소개
06_앰비언트어클루전 소개06_앰비언트어클루전 소개
06_앰비언트어클루전 소개
noerror
 

More from noerror (20)

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrains
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editor
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)
 
06_앰비언트어클루전 소개
06_앰비언트어클루전 소개06_앰비언트어클루전 소개
06_앰비언트어클루전 소개
 

10_Human Skin Rendering

  • 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