SlideShare ist ein Scribd-Unternehmen logo
1 von 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. 리얼한 장면만 만들 수 있음.

Weitere ähnliche Inhalte

Was ist angesagt?

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근MinGeun Park
 
Pbr guide kor_02
Pbr guide kor_02Pbr guide kor_02
Pbr guide kor_02형근 최
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑MinGeun Park
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리changehee lee
 
Deferred decal
Deferred decalDeferred decal
Deferred decal민웅 이
 
2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑Sukwoo Lee
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅JP Jung
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)MinGeun Park
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술YEONG-CHEON YOU
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflectionBongseok Cho
 

Was ist angesagt? (20)

Motion blur
Motion blurMotion blur
Motion blur
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
 
Bump Mapping
Bump MappingBump Mapping
Bump Mapping
 
Pbr guide kor_02
Pbr guide kor_02Pbr guide kor_02
Pbr guide kor_02
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
D2 Hdr
D2 HdrD2 Hdr
D2 Hdr
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
Ssao
SsaoSsao
Ssao
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리
 
Deferred decal
Deferred decalDeferred decal
Deferred decal
 
2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflection
 

물리 기반 셰이더의 이해

  • 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. 리얼한 장면만 만들 수 있음.