The Form Factors 그래픽스/렌더링

Radiosity 를 계산할 때 사용되는 Form Factor 를 Rendering Equation 으로부터 유도해 보겠습니다.

x 위치의 미소 표면이 Scene 의 모든 표면들(surfaces) 로부터 radiance 를 받을 때 x 의 반사 radiance 를 구하는 렌더링 방정식을 써보면,

$$L(x \rightarrow \Theta) = L_e(x \rightarrow \Theta) + \int_{S} f_r(x, \Theta \leftrightarrow \Psi) L(x \leftarrow \Psi) \frac{cos\Psi cos\Theta}{r^2} V(x, y) dA_y$$

여기서 Θ 는 반사 방향 벡터, ψ 는 입사 방향 벡터, f_r 은 BRDF, V(x, y) 은 x 에서 y 가 보이는가에 대한 visibility 함수, S 는 씬 전체의 표면입니다.

L_e 는 모든 방향에 동일한 emissive radiance 를 나타내고, 모든 표면이 완전한 diffuse (산란) 반사를 할경우 f_r 은 Lambertian BRDF 식에 의해  ρ / ᴨ 이 됩니다. 그러므로 식을 다시 쓰면,

$$L(x) = L_e(x) + \rho(x) \int_{S} L(x \leftarrow \Psi) \frac{cos\Psi cos\Theta}{\pi r^2} V(x, y) dA_y$$

이번에는 diffuse radiance 를 적분해서 x 위치의 미소표면의 radiosity 를 구하면,

$$B(x) = \int_{\Omega} L(x \rightarrow \Theta) cos\Theta d\omega$$
$$= L(x) \int_{\Omega} cos\Theta d\omega = L(x) \pi$$

즉, L(x) = B(x) / ᴨ 로 나타낼 수 있습니다. 이를 이용해서 다시 아까 식을 고쳐쓰고 양변에 ᴨ 를 곱하면,

$$B(x) = B_e(x) + \rho(x) \int_{S} B(y) \frac{cos\Psi cos\Theta}{\pi r^2} V(x, y) dA_y \tag{1}$$

이것이 radiosity 의 integral form 입니다.

일반적으로 radiosity 를 계산할 때는 patch 라고 불리는 작은 sub-표면 단위로 계산을 합니다.

A_i 표면의 평균적인 radiosity 는 아래와 같이 나타낼 수 있습니다.

$$B_i = \frac{1}{A_i} \int_{S_i} B(x) dA_x$$

식(1) 을 위의 식에 대입하면,

$$B_i = \frac{1}{A_i} \int_{S_i} B_e(x) dA_x + \frac{1}{A_i} \int_{S_i} \rho(x) \int_{S} B(y) \frac{cos\Psi cos\Theta}{\pi r^2} V(x,y) dA_y dA_x$$

patch 단위로 B(x), ρ(x) 가 동일하다고 가정하면,

$$B_i = B_e + \rho_i \sum_j B_j \frac{1}{A_i} \int_{S_i} \int_{S_j} \frac{cos\Psi cos\Theta}{\pi r^2} V(x,y) dA_y dA_x$$

$$B_i = B_e + \rho_i \sum_j B_j F_{ij} \tag{2}$$

여기서 F_{ij} 를 form factor 라고 부릅니다.

form factor 는 식으로 부터 아래의 성질이 있습니다.

$$A_i F_{ij} = A_i \frac{1}{A_i} \int_{S_i} \int_{S_j} \frac{cos\Psi cos\Theta}{\pi r^2} V(x,y) dA_y dA_x$$
$$ = A_j \frac{1}{A_j} \int_{S_j} \int_{S_i} \frac{cos\Psi cos\Theta}{\pi r^2} V(y,x) dA_x dA_y$$
$$ = A_j F_{ji}$$

식 (2) 의 양변에 A_i 를 곱하면 radiant power (P) 에 대한 식으로 깔끔하게 나타낼 수 있습니다.

$$B_i A_i = B_e A_i + \rho_i \sum_j B_j A_i F_{ij}$$
$$ = B_i A_i = B_e A_i + \rho_i \sum_j B_j A_j F_{ji}$$
$$ = P_i = P_e + \rho_i \sum_j P_j F_{ji} \tag{3}$$

식 (3) 의 form factor F_{ji} 는 A_j 패치에서 나오는 radiant power 가 A_i 패치에 도착하는 비율이라고 볼 수 있습니다 (F_{ij} 는 그 반대). 한가지 주의할 것은 식 (2) 의 radiosity 에는 form factor 가 반대라는 것입니다.

참고.
Advanced Global Illumination (A K Peters)


덧글

댓글 입력 영역