SlideShare a Scribd company logo
1 of 7
Non-Photorealistic Rendering
Toon Shading
Toon Shading
기본 개념 : 단순화를 통한 강조
다각형 영역을 순색으로 채우는 방법
hard shading : 조명을 받는 영역 / 그림자 진 영역 을 나눠서 두 가지 색조로 표시하는 방법
실루엣을 강조하는 방법
실루엣 엣지 렌더링
toon shading에 사용 가능한 edge의 종류
Boundary Edge (경계 엣지)
: 엣지를 공유하는 다각형이 1개인 엣지
Crease Edge (주름 엣지)
: 두 개 이상의 다각형이 접해서 접히는 엣지
능선과 계곡으로 세분화
Material Edge (물질 엣지)
: 엣지를 공유하는 다각형들을 이루는 물질이 다를 때
Silhouette Edge (실루엣 엣지)
: 엣지를 공유하는 다각형 중 하나는 시점을 바라보고
다른 하나는 시점의 반대방향을 바라볼 때
실루엣 엣지 렌더링
표면 각도 실루엣 처리
삼각형의 법선벡터와 시점 벡터의
내적의 값이 0에 가까우면(이루는 각이 90도)
그 삼각형이 실루엣일 것으로 판단,
원형의 검정색 고리를 가지는
구형 환경맵을 적용
N
시점
실루엣 엣지 렌더링
절차적 기하구조 실루엣 처리
frontface(전향면)는 그냥 그리고
backface(후향면)는 엣지를 그려주는 기법
backface를 검정색으로 렌더링할 경우 색이 진해진다.
여러 가지 기법이 있음.
z-bias method
: 후향면을 z축을 따라 시점 쪽으로 이동,
실루엣의 굵기가 일정치 않은 단점
후향 삼각형법
: 후향면의 삼각형들을 확장시킴.
실루엣 굵기가 일정치 않은 문제를 해결
껍질법
: 공유정점의 법선벡터 방향으로 정점을 이동,
셰이더 사용 가능
실루엣 엣지 렌더링
이미지 처리에 의한 실루엣
z-buffer값이 불연속적인 부분에 실루엣이 있을 것.
버퍼의 조작만으로 실루엣을 탐지
수직으로 바라보는 정육면체등의 검출이 어려움
z-depth의 차이가 적은 object들의 검출이 어려움
실루엣 엣지 렌더링

More Related Content

Viewers also liked

취업준비자들의 블루오션 3D 프린팅
취업준비자들의 블루오션 3D 프린팅취업준비자들의 블루오션 3D 프린팅
취업준비자들의 블루오션 3D 프린팅Chiwon Song
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정Dae Hyek KIM
 
라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까
라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까
라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까GukHwan Ji
 
[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머포프 김
 
3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작JP Jung
 
물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역Dae Hyek KIM
 
언리얼 엔진 4용 커스텀 천 재질
언리얼 엔진 4용 커스텀 천 재질언리얼 엔진 4용 커스텀 천 재질
언리얼 엔진 4용 커스텀 천 재질동석 김
 
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술Ki Hyunwoo
 
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기동석 김
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더동석 김
 
버텍스 셰이더로 하는 머리카락 애니메이션
버텍스 셰이더로 하는 머리카락 애니메이션버텍스 셰이더로 하는 머리카락 애니메이션
버텍스 셰이더로 하는 머리카락 애니메이션동석 김
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초JP Jung
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기MinGeun Park
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술MinGeun Park
 
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용JP Jung
 
유나이트2015서울 - 큰규모의 MMORPG - 주세영
유나이트2015서울 - 큰규모의 MMORPG - 주세영유나이트2015서울 - 큰규모의 MMORPG - 주세영
유나이트2015서울 - 큰규모의 MMORPG - 주세영Jaeyoung Han
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현MinGeun Park
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.ozlael ozlael
 
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)ozlael ozlael
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.ozlael ozlael
 

Viewers also liked (20)

취업준비자들의 블루오션 3D 프린팅
취업준비자들의 블루오션 3D 프린팅취업준비자들의 블루오션 3D 프린팅
취업준비자들의 블루오션 3D 프린팅
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까
라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까
라이트,라이트맵,라이트프로브,누가가장가볍고이쁠까
 
[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머
 
3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작
 
물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역
 
언리얼 엔진 4용 커스텀 천 재질
언리얼 엔진 4용 커스텀 천 재질언리얼 엔진 4용 커스텀 천 재질
언리얼 엔진 4용 커스텀 천 재질
 
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
 
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
버텍스 셰이더로 하는 머리카락 애니메이션
버텍스 셰이더로 하는 머리카락 애니메이션버텍스 셰이더로 하는 머리카락 애니메이션
버텍스 셰이더로 하는 머리카락 애니메이션
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술
 
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
 
유나이트2015서울 - 큰규모의 MMORPG - 주세영
유나이트2015서울 - 큰규모의 MMORPG - 주세영유나이트2015서울 - 큰규모의 MMORPG - 주세영
유나이트2015서울 - 큰규모의 MMORPG - 주세영
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
 
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
 

More from quxn6

모어이펙티브 C++ 5,6
모어이펙티브 C++ 5,6모어이펙티브 C++ 5,6
모어이펙티브 C++ 5,6quxn6
 
모어 이펙티브 c++ 5장 스터디
모어 이펙티브 c++ 5장 스터디모어 이펙티브 c++ 5장 스터디
모어 이펙티브 c++ 5장 스터디quxn6
 
모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디quxn6
 
모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디quxn6
 
C++11 Tuple
C++11 TupleC++11 Tuple
C++11 Tuplequxn6
 
이펙티브 C++ 789 공부
이펙티브 C++ 789 공부이펙티브 C++ 789 공부
이펙티브 C++ 789 공부quxn6
 
이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디quxn6
 
이펙티브 C++ 공부
이펙티브 C++ 공부이펙티브 C++ 공부
이펙티브 C++ 공부quxn6
 
중급 소켓프로그래밍
중급 소켓프로그래밍중급 소켓프로그래밍
중급 소켓프로그래밍quxn6
 
이펙티브 C++ 스터디
이펙티브 C++ 스터디이펙티브 C++ 스터디
이펙티브 C++ 스터디quxn6
 
입체충돌처리
입체충돌처리입체충돌처리
입체충돌처리quxn6
 
introduce unity3D and playmaker basic
introduce unity3D and playmaker basicintroduce unity3D and playmaker basic
introduce unity3D and playmaker basicquxn6
 
TCP echo 서버 및 클라이언트 예제 스터디
TCP echo 서버 및 클라이언트 예제 스터디TCP echo 서버 및 클라이언트 예제 스터디
TCP echo 서버 및 클라이언트 예제 스터디quxn6
 

More from quxn6 (13)

모어이펙티브 C++ 5,6
모어이펙티브 C++ 5,6모어이펙티브 C++ 5,6
모어이펙티브 C++ 5,6
 
모어 이펙티브 c++ 5장 스터디
모어 이펙티브 c++ 5장 스터디모어 이펙티브 c++ 5장 스터디
모어 이펙티브 c++ 5장 스터디
 
모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디
 
모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디
 
C++11 Tuple
C++11 TupleC++11 Tuple
C++11 Tuple
 
이펙티브 C++ 789 공부
이펙티브 C++ 789 공부이펙티브 C++ 789 공부
이펙티브 C++ 789 공부
 
이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디
 
이펙티브 C++ 공부
이펙티브 C++ 공부이펙티브 C++ 공부
이펙티브 C++ 공부
 
중급 소켓프로그래밍
중급 소켓프로그래밍중급 소켓프로그래밍
중급 소켓프로그래밍
 
이펙티브 C++ 스터디
이펙티브 C++ 스터디이펙티브 C++ 스터디
이펙티브 C++ 스터디
 
입체충돌처리
입체충돌처리입체충돌처리
입체충돌처리
 
introduce unity3D and playmaker basic
introduce unity3D and playmaker basicintroduce unity3D and playmaker basic
introduce unity3D and playmaker basic
 
TCP echo 서버 및 클라이언트 예제 스터디
TCP echo 서버 및 클라이언트 예제 스터디TCP echo 서버 및 클라이언트 예제 스터디
TCP echo 서버 및 클라이언트 예제 스터디
 

비실사렌더링-툰 쉐이딩

  • 2. Toon Shading 기본 개념 : 단순화를 통한 강조 다각형 영역을 순색으로 채우는 방법 hard shading : 조명을 받는 영역 / 그림자 진 영역 을 나눠서 두 가지 색조로 표시하는 방법 실루엣을 강조하는 방법
  • 3. 실루엣 엣지 렌더링 toon shading에 사용 가능한 edge의 종류 Boundary Edge (경계 엣지) : 엣지를 공유하는 다각형이 1개인 엣지 Crease Edge (주름 엣지) : 두 개 이상의 다각형이 접해서 접히는 엣지 능선과 계곡으로 세분화 Material Edge (물질 엣지) : 엣지를 공유하는 다각형들을 이루는 물질이 다를 때 Silhouette Edge (실루엣 엣지) : 엣지를 공유하는 다각형 중 하나는 시점을 바라보고 다른 하나는 시점의 반대방향을 바라볼 때
  • 4. 실루엣 엣지 렌더링 표면 각도 실루엣 처리 삼각형의 법선벡터와 시점 벡터의 내적의 값이 0에 가까우면(이루는 각이 90도) 그 삼각형이 실루엣일 것으로 판단, 원형의 검정색 고리를 가지는 구형 환경맵을 적용 N 시점
  • 5. 실루엣 엣지 렌더링 절차적 기하구조 실루엣 처리 frontface(전향면)는 그냥 그리고 backface(후향면)는 엣지를 그려주는 기법 backface를 검정색으로 렌더링할 경우 색이 진해진다. 여러 가지 기법이 있음. z-bias method : 후향면을 z축을 따라 시점 쪽으로 이동, 실루엣의 굵기가 일정치 않은 단점 후향 삼각형법 : 후향면의 삼각형들을 확장시킴. 실루엣 굵기가 일정치 않은 문제를 해결 껍질법 : 공유정점의 법선벡터 방향으로 정점을 이동, 셰이더 사용 가능
  • 6. 실루엣 엣지 렌더링 이미지 처리에 의한 실루엣 z-buffer값이 불연속적인 부분에 실루엣이 있을 것. 버퍼의 조작만으로 실루엣을 탐지 수직으로 바라보는 정육면체등의 검출이 어려움 z-depth의 차이가 적은 object들의 검출이 어려움