Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 3d
- URP
- 개인 바이트
- AppSW
- 게임 수학
- URP로 변경
- 벡터
- ASW(Application SpaceWarp)
- VR
- 가상 바이트
- Toon Shader
- 메모리 누수
- Cell Shader
- ColorGradingLutPass
- Cell Look
- Rim Light
- Private Bytes
- 작업 집합
- working set
- Three(Two) Tone Shading
- Specular
- Virtual Byte
- C언어
- OculusMotionVectorPass
- 프로그래밍 기초
- Windows Build
- Cartoon Rendering
Archives
- Today
- Total
WinCNT
PBR - 2회차 본문
PBR은 특히 Specular를 위한 것이다
(대부분의 엔진에서 Diffuse는 그냥 N dot L함)
물체 겉면의 거친 정도에 따라 빛이 난반사되는 정도가 바뀐다
그 이유는 겉면이 거칠수록 미세면이 늘어나므로 그에 따라 빛도 난반사하게 되는 것이다
다시 말해 그러한 미세면을 전부 모델링할 수 있다면
복잡한 수식 없이도 사실적인 조명 연산이 가능할 것이다
하지만 이는 현실적으로 불가능하다
따라서 실제로는 거친 정도에 따라 미세면에 의한 난반사를
통계적으로 분석(근사)한 수식을 통해서 물리 기반 렌더링을 한다
매끈한 면과 거친 면의 반사 차이
왜 거친 면은 빛이 난반사 되는가
PBR 수식
F는 프레넬 항
프레넬 항의 원본식
F 프레넬 항을 간략화한 버전
G는 기하감쇠율(Geometric Attenuation Factor)
기하감쇠율은 반사광 차폐(Masking)과 입사광의 차폐(Shadowing)에 의한 빛의 감쇄율을 반영한 것이다
D는 미세면 분포함수
미세면 분포함수는 엄청나게 많지만 주로 사용되는 함수로는 3가지가 있다
(유니티 등에서 사용되는 건 GGX)
다만 여기에는 Metalic이 빠져있다
메탈릭은 주변(정확히는 Sky의 텍스처)을 얼마나 반사할지를 결정한다
연산이 복잡한 대신 좀 더 리얼한 조명 연산을 보장한다
NPR인 경우는 PBR이 완전 필요 없을 수도 있다
(길티기어의 렌더링 기법 보는 게 더 나을 수 있음)
SSS
'게임 프로그래밍(학습 내용 정리) > 게임 수학' 카테고리의 다른 글
Blur (0) | 2022.06.14 |
---|---|
NPR(None Photo Realistic) - Cartoon (0) | 2022.06.07 |
VRAM과 PCI express (0) | 2022.06.07 |
Tonemaping (0) | 2022.05.10 |
Gamma Correction (0) | 2022.05.10 |