Company
교육 철학

A Reflectance Model for Computer Graphics

새로운 반사(Reflectance) 모델이 제안되었습니다.
이 모델은 같은 장면 안에서 서로 다른 재질이나 빛의 밝기 차이를 설명할 수 있습니다.
또한, 빛이 물체에 부딪혀 반사될 때 어느 방향으로 퍼지는지와, **입사각(빛이 들어오는 각도)**에 따라 색이 달라지는 현상까지 묘사합니다.
연구에서는 실제 재질을 사용해 물체 표면에서 반사되는 빛의 스펙트럼 에너지 분포를 얻는 방법을 보여주며, 그 분포에 맞게 색을 정확하게 재현하는 절차도 설명합니다.
마지막으로, 이 모델을 금속과 플라스틱 재질의 시뮬레이션에 적용해 그 효과를 입증했습니다.
컴퓨터 그래픽스에서 현실감 있는 이미지를 렌더링하려면, 물체가 빛을 어떻게 반사하는지를 설명하는 **반사 모델(reflectance model)**이 필요합니다. 이 모델은 반사된 빛의 **색(color)**과 공간적 분포(spatial distribution) 모두를 다루어야 합니다. 또한 반사 모델은 표면 기하 구조 표현이나 은면 제거(hidden surface) 알고리즘 같은 다른 렌더링 요소와는 독립적으로 정의됩니다.
대부분의 실제 표면은 완전한 거울 같은 반사체(ideal specular)도 아니고, 완전히 확산적인 램버시안 반사체(ideal diffuse)도 아닙니다. 이에 대해 Phong은 반사 모델을 제안했는데, 이는 **확산 반사(diffuse)**와 **정반사(specular)**를 선형적으로 합친 모델이었습니다. 정반사 성분은 거울 방향을 중심으로 퍼지도록, 코사인 함수에 지수를 적용해 표현했습니다.
이후 Blinn은 비슷한 아이디어를 발전시키면서, 빛이 표면에 비스듬히(grazing angle) 들어올 때 나타나는 off-specular peak까지 고려한 반사 모델을 사용했습니다. 또 Whitted는 이상적인 거울 반사(ideal specular reflection)를 위한 항을 추가하여 모델을 확장했습니다.
이들 기존 모델은 모두 **기하광학(geometrical optics, 즉 광선 이론)**을 기반으로 했습니다. 그리고 반사를 세 가지 성분으로 나누어 다뤘습니다:
주변광(ambient): 환경에서 모든 방향으로 균일하게 들어오는 빛 → 표면에서 모든 방향으로 동일하게 반사
확산광(diffuse): 특정 광원에서 온 빛이 표면에 부딪힌 후, 모든 방향으로 균일하게 퍼짐
정반사(specular): 거울 방향 근처에 집중된 하이라이트
여기서 정반사 성분은 광원의 색으로 가정되었으며, 강도의 각도별 변화는 프레넬 방정식으로 설명했지만 색 변화는 포함하지 않았습니다. 반면, 주변광과 확산광은 재질 자체의 색으로 가정되었습니다. 이 결과, 특정한 종류의 재질을 표현하는 데에는 그럴듯한 이미지를 만들어낼 수 있었습니다.
이 논문은 기존보다 더 일반적인, **거친 표면(rough surface)**을 위한 새로운 반사 모델을 제시합니다. 이 모델은 기하광학에 기반을 두고 있으며, 다양한 재질, 표면 조건, 조명 상황에 적용할 수 있습니다. 모델의 핵심은, 물체의 밝기를 비추는 각 광원의 **세기(intensity)**와 **크기(size)**에 연관지어 정의하는 반사 공식에 있습니다. 이 모델은 반사된 빛의 방향 분포와 **스펙트럼 구성(색상 성분)**을 예측합니다. 또한, 스펙트럼 에너지 분포에서 RGB 값을 계산하는 절차도 제시합니다.
마지막으로, 이 새로운 반사 모델을 금속과 플라스틱에 적용하며, 기존 모델들이 왜 종종 ‘플라스틱처럼 보이는(plastic look)’ 이미지를 만들어내는지, 그리고 그 문제를 어떻게 피할 수 있는지를 설명합니다.

반사 모델 (The Reflectance Model)

광원, 표면, 그리고 관찰자가 주어졌을 때, **반사 모델(reflectance model)**은 관찰자에게 도달하는 반사광의 **강도(intensity)**와 **스펙트럼 구성(spectral composition)**을 설명합니다.
반사광의 강도는 광원의 세기와 크기, 그리고 물질의 반사 능력과 표면 특성에 의해 결정됩니다.
반사광의 **스펙트럼 구성(색 성분)**은 광원의 스펙트럼과, 표면이 파장별로 선택적으로 반사하는 특성에 의해 결정됩니다.
이 절에서는 필요한 반사 관련 정의들을 도입하고, 이를 결합하여 하나의 일반화된 반사 모델을 제시합니다.
그림 1에는 이 모델에서 사용되는 기호들이 요약되어 있으며, 그림 2는 반사의 기하 구조를 보여줍니다.
관찰자는 표면 위의 한 점 P를 보고 있습니다.
V: 관찰자 방향의 단위 벡터
N: 표면의 단위 법선 벡터
L: 특정 광원 방향의 단위 벡터
H: V와 L의 각을 이등분하는 방향의 정규화된 벡터
이는 다음과 같이 정의됩니다:
H=V+L length(V+L)H = \frac{V + L}{\ length( V + L) }
vec3 lightDir = normalize(lightPos - FragPos); vec3 viewDir = normalize(viewPos - FragPos); vec3 halfwayDir = normalize(lightDir + viewDir);
GLSL
복사
이는 빛을 반사할 수 있는 가상의 표면의 단위 반사 벡터에 해당한다.
기호
의미
대표 수식 (Notion 수학 블록)
H
반각 벡터 (Half vector)
H=L+VL+VH = \frac{L + V}{|L + V|}
R
총 BRDF (Total reflectance)
R=Rd+RsR = R_d + R_s
R_d
확산 반사율 (Diffuse BRDF)
Rd=ρdπR_d = \frac{\rho_d}{\pi}
R_s
정반사 반사율 (Specular BRDF, Cook–Torrance)
Rs=DFG4(NL)(NV)R_s = \frac{D \, F \, G}{4 (N \cdot L)(N \cdot V)}
D
Facet 경사 분포 함수 (Normal Distribution Function)
D(m)=1πm2cos4θhexp(tan2θhm2)D(m) = \frac{1}{\pi m^2 \cos^4\theta_h} \exp\left(-\frac{\tan^2\theta_h}{m^2}\right)
G
기하학적 감쇠 (Geometry Attenuation)
G(N,V,L)=min(1,2(NH)(NV)VH,2(NH)(NL)VH)G(N,V,L) = \min\left(1, \frac{2 (N \cdot H)(N \cdot V)}{V \cdot H}, \frac{2 (N \cdot H)(N \cdot L)}{V \cdot H}\right)
F
프레넬 반사율 (Fresnel reflectance, Schlick approx.)
F(θ)=F0+(1F0)(1cosθ)5F(\theta) = F_0 + (1 - F_0)(1 - \cos\theta)^5
I_r
반사광 세기 (Reflected intensity)
Ir=EiRI_r = E_i \cdot R
N
단위 표면 법선 (Surface normal)
NL,  NVN \cdot L, \; N \cdot V (주로 내적 형태로 사용)
L
광원 방향 단위벡터 (Light vector)
NLN \cdot L
V
관찰자 방향 단위벡터 (View vector)
NVN \cdot V
θ_{NH}
법선과 반각 벡터 사이의 각
θNH=cos1(NH)\theta_{NH} = \cos^{-1}(N \cdot H)
θ_{VH}, θ_{LH}
V–H, L–H 사이의 각도
θVH=cos1(VH)\theta_{VH} = \cos^{-1}(V \cdot H)
ρ_d
확산 반사율 계수
Rd=ρdπR_d = \frac{\rho_d}{\pi}
ρ_s
정반사 반사율 계수
RsρsR_s \propto \rho_s