Quick Reference
| 개념 | 의미 |
|---|---|
| BRDF | 들어온 빛이 나가는 방향으로 얼마나 반사되는지 |
| PBR | 물리 기반 규칙을 지키는 재질/조명 모델 |
| Albedo | 표면의 기본 색 |
| Metallic | 금속/비금속 성질 |
| Roughness | 미세 표면 거칠기 |
| Fresnel | 시야각에 따른 반사율 변화 |
outgoing radiance = ∫ BRDF(N, V, L) * incoming radiance * max(N·L, 0) dω
metallic / roughness / normal은 linear data로 읽고, base color는 색 공간을 맞춰 읽는다.구조
BRDF는 Bidirectional Reflectance Distribution Function의 약자입니다. 빛이 어느 방향에서 들어오고, 어느 방향으로 나갈 때 표면이 얼마나 반사하는지를 나타냅니다.
PBR은 특정 공식 하나가 아니라 물리적으로 그럴듯한 제약을 지키는 재질 표현 방식입니다. 대표적으로 에너지 보존, 금속/비금속 분리, roughness 기반 하이라이트 변화, Fresnel 반사를 다룹니다.
baseColor + metallic + roughness + normal
-> BRDF
-> lighting resultmicrofacet 모델은 표면이 아주 작은 거울 조각들의 분포라고 보고 specular를 계산합니다. 이때 roughness는 미세 표면 방향 분포를 넓히고, Fresnel은 보는 각도에 따라 반사율을 바꿉니다.
PBR의 baseColor는 비금속에서는 주로 diffuse 반사색이고, 금속에서는 주로 specular 반사색으로 쓰입니다. metallic은 보통 0 또는 1에 가까운 재질 분류값이며, roughness는 microfacet 분포와 환경 반사 prefilter의 LOD를 함께 바꿉니다. normal map은 표면 방향만 바꾸며 에너지나 재질 색을 직접 보정하지 않습니다.
PBR은 직접광만으로 완성되지 않습니다. environment map을 이용한 image-based lighting, diffuse irradiance, specular prefilter가 있어야 금속이나 거친 표면의 반사가 자연스럽게 연결됩니다.
Roughness
roughness가 낮으면 표면이 매끄러워 하이라이트가 작고 강하게 보입니다. roughness가 높으면 미세 표면 방향이 흩어져 하이라이트가 넓고 약해집니다.
재질 기준
| 재질 | metallic | roughness 경향 |
|---|---|---|
| 플라스틱 | 0 | 다양 |
| 나무, 천 | 0 | 보통 높음 |
| 도색된 금속 | 0 또는 레이어 모델 | 표면 상태에 따라 |
| 순수 금속 | 1 | 광택에 따라 |
| 거울 | 1에 가까움 | 매우 낮음 |
PBR에서는 금속의 base color가 specular 반사 색에 영향을 주고, 비금속은 diffuse 색으로 더 강하게 나타납니다.
조명·BRDF 계산은 linear 공간에서 수행합니다. base color와 emissive처럼 사람이 보는 색은 sRGB asset에서 linear로 decode할 수 있지만, roughness·metallic·AO·normal은 수치 데이터라 sRGB decode를 하면 안 됩니다.
주의할 점
PBR 재질은 조명 환경과 함께 봐야 합니다. 재질 파라미터가 맞아도 environment lighting이나 tone mapping이 틀리면 결과가 부자연스럽습니다.
또 roughness, metallic, AO 같은 값은 데이터 텍스처입니다. sRGB 색 보정이 들어가면 재질 반응이 달라질 수 있습니다.
metallic 값을 회색으로 넓게 칠해 두면 금속과 비금속의 반사 모델이 섞여 재질 분류가 불분명해질 수 있습니다. 산화·도색·먼지처럼 층을 표현해야 할 때는 단순 metallic-roughness 한 장의 의미를 넘는지 먼저 판단합니다.
참고 링크
1 sources