SlideShare une entreprise Scribd logo
1  sur  50
물리 기반 셰이더의 이해
강태영
차례
1. 물리 기반 셰이더 (Physical Based Shader)의 정의
2. 예전 셰이더의 문제점이 무엇인가?
3. 물리 기반 셰이더의 구조
4. 물리 기반 셰이더의 발전
5. 물리 기반 셰이더의 장점과 단점
• 이 발표는 tri-Ace, Lazarov, Sebastien Lagarde의 PBS를 바탕으로 합
니다.
물리 기반 셰이더(Phsically Based Shade)의 정의
• 기존의 셰이더들은 물리적으로 부정확한 부분이 많았습니다.
- 게임환경 때문에 어두운 Diffuse Map을 써야 한다던가..
- Specular가 너무 강하거나 약해서 중간 조절이
어렵다던가..
• Fresnel 효과가 잘 못 들어가 있거나
• Reflection에 대한 고려가 전혀 없거나
• 조명이 엄청 약한데도 엄청 밝은 셰이더라던가..
• 예전 셰이더들은 물리랑은 전혀 상관없는건가?
상관없는게 아니라 들 사용됐다고 하는 표현이 맞습니다.
Phong 셰이딩의 이해
• 1975년 퐁 뷰이통에 의해 개발된 기술입니다.
• 3차원 그래픽에서 각각의 화소 컬러에 조명과 음영을 계산한다.
• 면 단위가 아닌 화소 단위로 오브젝트를 렌더링 하므로 텍스쳐의
질감, 투명도, 범프등의 효과를 정교하게 반영합니다.
• 폴리곤으로 되어 있는 각진 면을 부드럽게 처리하는데 효과적입
니다.
- 원형 물체에선 괜찮지만 평평한 면에선 실제 스펙큘러를 표
현하지 못합니다.
- 언제나 동그랗게 맺히는 하이라이트~
Lambert Diffuse 셰이딩의 이해
• 퐁 셰이더는 사물에는 좋지만, 사람에게는 부족한 셰이더라 그 것
을 개량한 버전이 램버트 셰이딩입니다.
• 밸브에서 개발했으며 하프라이프에서 1998년에 처음 사용되었습
니다.
• 기본 공식 : Dot(L,N) L:라이트 벡터 N: 법선 벡터
법선 벡터가 곱해지면서 표면에 굴곡진 라이팅을 생성합니다.
하프 램버트의 이해
• 램버트 셰이딩의 가장 큰 문제는 명암차가 너무 뚜렷하다는 것입
니다.
• 새로운 공식을 적용한 하프램버트가 탄생합니다.
• Dot(L,N) * 0.5f + 0.5f
램버트에 0.5를 곱해 평준화 시킨 다음 0.5를 더해서 x축으로 들어
올려 좀더 사실적인 느낌을 주게 됩니다.
• 그런데 또 문제가 생깁니다. 명이 너무 넓고 암이 너무 좁습니다.
즉, 음영 콘트라스트가 거의 없습니다.
• 이것을 해결하기 위해 계수를 곱해줍니다.
• Pow((dot(L,N)) * 0.5f + 0.5f , n) 이 되고 n은 임의의 계수입니다.
• 일반적으로 n=4가 됩니다.
• 하프램버트에 라이팅 마스크를 곱해 줌으로서 하프 램버트를 몇
번 제곱해서 콘트라스트를 올려 주는 겁니다.
하프 램버트는
하프라이트2에서
사용되었습니다.
결론적으로~!
• 물리기반 셰이딩 이전의 셰이더들은 반드시 추가 수식이 들어가
야 그나마 사실적으로 표현이 됩니다.
• 이 모든 일련의 귀찮은 과정을 생략하고자 물리 기반 셰이딩이 등
장했습니다.
PBS가 적용된 게임들 스샷
기어스 오브 워(2006년)
배트맨 아캄 나이트(2015년)
https://www.youtube.com/watch?v=uVM
oWInuO1A
물리 기반 셰이더의 기본 이론
• 물리 기반 셰이더는 생략된 물리 현상들을 좀 더 많이 구현한 셰이
더입니다. 그러기 위해서 아래 이론이 적용되었습니다.
- Oren - Nayar
- Blinn – Phong Specular
- 미세 표면
- Fresnel 효과
- Image Base Light
- 에너지 보존 법칙
Oren – Nayar 조명 모델이란
• Lambert의 Diffuse Model은 모든 방향에서 같은 복사량을 취하게
된다는 가정을 깔고 있으며, 플라스틱같이 반들반들한 표면을 가
진재질에 적합합니다.
• Oren – Nayar Model 의 공식을 유도할 때 사용되는 거친 표면
(Roughness Surface)이라는 것은 서로 다른 각도를 가진 Torrance와
Sparrow에 의해 제안된 미세면(microfacet들의 집합으로 설명됩니
다.
• 모든 표면은 거칩니다!! Microfacet BRDF)
• Microfacet theory(미세표면 이론)은 물리 기반 셰이더의 근간
- 물체의 표면은 매우 작은, 완전 반사가 일어나는 편평한 표면의 집합
• 예전 셰이더들은 물체의 모든 표면은 완전 반사를 한다고 가정하
고 만들어 졌습니다.
Oren – Nayar, Lambertian, Brightness 비교
구현 코드
거칠기(roughness) : 1 0.75 0.5 0.25 0
모든 표면은 Specular가 있다!
• 카메라에 편광필터를 사용해서 사진을 찍어 보면 좀더 색이 풍부
하게 나옵니다.
- 표면에서 반사되는 난반사를 줄여줘서 - Specular를 줄여서 본래의 색을 더 풍부하게 보이게
해주는 원리입니다.
모든 표면은 Fresnel이 있다!
• 스넬의 법칙(Snell’s Law)
- 두 매질이 마주하는 경계면에서 임계각을 넘으면
전반사가 일어납니다.
• Fresnel의 법칙
- 표면의 반사량은 관찰자의 시점과 표면이
이루는 각도에 영향을 받는다.
- 표면을 바라보는 각도가 물체의 전반사가
일어나는 고유 각도, 즉 Critical Angle(임계각)
에 이르면 Fresnel 효과를 경험할 수 있게
됩니다.
이미지 베이스 렌더러(IBL)
Lazarov의 PBS
UDK에 물리기반 셰이더를 적용하려면..
Diffuse Term
Distribute Term
Fresnel & Visibility Term
Ambient Term
언리얼4의 간단한 PBS
장점
1. 적은 텍스쳐 리소스로 거의
모든 재질을 표현 할 수 있음
2. 아티스트가 조절할 부분이 적
음
3. 다양한 조명 환경에서의 안정
적인 결과물
4. 하나의 셰이더만 있으면 되므
로 Differed Renderer에도 적합
5. 적용하는데 특별한 신기술이
필요 없음
6. 계속해서 발전하고 있음
단점
1. 아티스트에게 개념을 이해시키
기 힘듦
2. 리얼한 장면만 만들 수 있음.

Contenu connexe

Tendances

NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)QooJuice
 
Pbr guide kor_02
Pbr guide kor_02Pbr guide kor_02
Pbr guide kor_02형근 최
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성Gunho Shin
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리changehee lee
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기동석 김
 
Unite2019 _ 학교에서 배우는 게임개발이란
Unite2019 _ 학교에서 배우는 게임개발이란Unite2019 _ 학교에서 배우는 게임개발이란
Unite2019 _ 학교에서 배우는 게임개발이란JP Jung
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리KyeongWon Koo
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우Sukwoo Lee
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅JP Jung
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우
 

Tendances (20)

NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
Ndc11 이창희_hdr
Ndc11 이창희_hdrNdc11 이창희_hdr
Ndc11 이창희_hdr
 
카툰 렌더링
카툰 렌더링카툰 렌더링
카툰 렌더링
 
D2 Hdr
D2 HdrD2 Hdr
D2 Hdr
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
Ssao
SsaoSsao
Ssao
 
Motion blur
Motion blurMotion blur
Motion blur
 
노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)노말 맵핑(Normal mapping)
노말 맵핑(Normal mapping)
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
Pbr guide kor_02
Pbr guide kor_02Pbr guide kor_02
Pbr guide kor_02
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
[Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기
 
Unite2019 _ 학교에서 배우는 게임개발이란
Unite2019 _ 학교에서 배우는 게임개발이란Unite2019 _ 학교에서 배우는 게임개발이란
Unite2019 _ 학교에서 배우는 게임개발이란
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 

물리 기반 셰이더의 이해

  • 1. 물리 기반 셰이더의 이해 강태영
  • 2. 차례 1. 물리 기반 셰이더 (Physical Based Shader)의 정의 2. 예전 셰이더의 문제점이 무엇인가? 3. 물리 기반 셰이더의 구조 4. 물리 기반 셰이더의 발전 5. 물리 기반 셰이더의 장점과 단점
  • 3. • 이 발표는 tri-Ace, Lazarov, Sebastien Lagarde의 PBS를 바탕으로 합 니다.
  • 4. 물리 기반 셰이더(Phsically Based Shade)의 정의
  • 5. • 기존의 셰이더들은 물리적으로 부정확한 부분이 많았습니다. - 게임환경 때문에 어두운 Diffuse Map을 써야 한다던가.. - Specular가 너무 강하거나 약해서 중간 조절이 어렵다던가..
  • 6. • Fresnel 효과가 잘 못 들어가 있거나 • Reflection에 대한 고려가 전혀 없거나 • 조명이 엄청 약한데도 엄청 밝은 셰이더라던가..
  • 7. • 예전 셰이더들은 물리랑은 전혀 상관없는건가? 상관없는게 아니라 들 사용됐다고 하는 표현이 맞습니다.
  • 8. Phong 셰이딩의 이해 • 1975년 퐁 뷰이통에 의해 개발된 기술입니다. • 3차원 그래픽에서 각각의 화소 컬러에 조명과 음영을 계산한다. • 면 단위가 아닌 화소 단위로 오브젝트를 렌더링 하므로 텍스쳐의 질감, 투명도, 범프등의 효과를 정교하게 반영합니다. • 폴리곤으로 되어 있는 각진 면을 부드럽게 처리하는데 효과적입 니다.
  • 9. - 원형 물체에선 괜찮지만 평평한 면에선 실제 스펙큘러를 표 현하지 못합니다. - 언제나 동그랗게 맺히는 하이라이트~
  • 10. Lambert Diffuse 셰이딩의 이해 • 퐁 셰이더는 사물에는 좋지만, 사람에게는 부족한 셰이더라 그 것 을 개량한 버전이 램버트 셰이딩입니다. • 밸브에서 개발했으며 하프라이프에서 1998년에 처음 사용되었습 니다. • 기본 공식 : Dot(L,N) L:라이트 벡터 N: 법선 벡터 법선 벡터가 곱해지면서 표면에 굴곡진 라이팅을 생성합니다.
  • 11.
  • 12.
  • 13. 하프 램버트의 이해 • 램버트 셰이딩의 가장 큰 문제는 명암차가 너무 뚜렷하다는 것입 니다. • 새로운 공식을 적용한 하프램버트가 탄생합니다. • Dot(L,N) * 0.5f + 0.5f 램버트에 0.5를 곱해 평준화 시킨 다음 0.5를 더해서 x축으로 들어 올려 좀더 사실적인 느낌을 주게 됩니다.
  • 14.
  • 15. • 그런데 또 문제가 생깁니다. 명이 너무 넓고 암이 너무 좁습니다. 즉, 음영 콘트라스트가 거의 없습니다. • 이것을 해결하기 위해 계수를 곱해줍니다. • Pow((dot(L,N)) * 0.5f + 0.5f , n) 이 되고 n은 임의의 계수입니다. • 일반적으로 n=4가 됩니다. • 하프램버트에 라이팅 마스크를 곱해 줌으로서 하프 램버트를 몇 번 제곱해서 콘트라스트를 올려 주는 겁니다.
  • 16.
  • 17.
  • 19. 결론적으로~! • 물리기반 셰이딩 이전의 셰이더들은 반드시 추가 수식이 들어가 야 그나마 사실적으로 표현이 됩니다. • 이 모든 일련의 귀찮은 과정을 생략하고자 물리 기반 셰이딩이 등 장했습니다.
  • 22.
  • 24.
  • 25.
  • 26.
  • 27. 물리 기반 셰이더의 기본 이론 • 물리 기반 셰이더는 생략된 물리 현상들을 좀 더 많이 구현한 셰이 더입니다. 그러기 위해서 아래 이론이 적용되었습니다. - Oren - Nayar - Blinn – Phong Specular - 미세 표면 - Fresnel 효과 - Image Base Light - 에너지 보존 법칙
  • 28. Oren – Nayar 조명 모델이란 • Lambert의 Diffuse Model은 모든 방향에서 같은 복사량을 취하게 된다는 가정을 깔고 있으며, 플라스틱같이 반들반들한 표면을 가 진재질에 적합합니다. • Oren – Nayar Model 의 공식을 유도할 때 사용되는 거친 표면 (Roughness Surface)이라는 것은 서로 다른 각도를 가진 Torrance와 Sparrow에 의해 제안된 미세면(microfacet들의 집합으로 설명됩니 다. • 모든 표면은 거칩니다!! Microfacet BRDF)
  • 29. • Microfacet theory(미세표면 이론)은 물리 기반 셰이더의 근간 - 물체의 표면은 매우 작은, 완전 반사가 일어나는 편평한 표면의 집합
  • 30. • 예전 셰이더들은 물체의 모든 표면은 완전 반사를 한다고 가정하 고 만들어 졌습니다.
  • 31. Oren – Nayar, Lambertian, Brightness 비교
  • 33. 거칠기(roughness) : 1 0.75 0.5 0.25 0
  • 34. 모든 표면은 Specular가 있다! • 카메라에 편광필터를 사용해서 사진을 찍어 보면 좀더 색이 풍부 하게 나옵니다. - 표면에서 반사되는 난반사를 줄여줘서 - Specular를 줄여서 본래의 색을 더 풍부하게 보이게 해주는 원리입니다.
  • 35.
  • 36. 모든 표면은 Fresnel이 있다! • 스넬의 법칙(Snell’s Law) - 두 매질이 마주하는 경계면에서 임계각을 넘으면 전반사가 일어납니다.
  • 37. • Fresnel의 법칙 - 표면의 반사량은 관찰자의 시점과 표면이 이루는 각도에 영향을 받는다. - 표면을 바라보는 각도가 물체의 전반사가 일어나는 고유 각도, 즉 Critical Angle(임계각) 에 이르면 Fresnel 효과를 경험할 수 있게 됩니다.
  • 40.
  • 41.
  • 42.
  • 43. UDK에 물리기반 셰이더를 적용하려면.. Diffuse Term
  • 48.
  • 49.
  • 50. 장점 1. 적은 텍스쳐 리소스로 거의 모든 재질을 표현 할 수 있음 2. 아티스트가 조절할 부분이 적 음 3. 다양한 조명 환경에서의 안정 적인 결과물 4. 하나의 셰이더만 있으면 되므 로 Differed Renderer에도 적합 5. 적용하는데 특별한 신기술이 필요 없음 6. 계속해서 발전하고 있음 단점 1. 아티스트에게 개념을 이해시키 기 힘듦 2. 리얼한 장면만 만들 수 있음.