L (x->x1) = 积分 ( L (x2->x) * BRDF(x2->x,x->x1) * G (x2,x) * d A(x2)
其中
L (x->x1) 表示x到x1的光的强度
L (x2->x) 表示x2到x的光的强度
BRDF(x2->x,x->x1) 表示从x2->x,x->x1的BRDF
G (x2,x)= vis(x,x2) *cos(N)*cos(N2)/(length(x2,x) N1,N2分别为x,x2的法线和连线的夹角
vis(x,x2)表示x,x2的可视关系
过程:
我们可以知道从x2->x的能量传递是
d F(x2->x) = L(x2->x) * d A(x2) * vis(x,x2) *cos(N2) * dw(x2->x)
d F(x2->x) = L(x2->x) * d A(x) * vis(x,x2) *cos (N) * dw(x->x2)
照度:
d E(x2->x) = L(x2->x) * vis(x,x2) *cos(N) * dw(x->x2)
我们知道 L = E * BRDF
于是:
d L(x->x1) = d E(x2->x) * BRDF(x2->x,x->x1)
= L(x2->x) * vis(x,x2) *cos(N) * dw(x->x2) * BRDF(x2->x,x->x1)
积分后得到:
L(x->x1)=积分 L(x2->x) * vis(x,x2) *cos(N) * dw(x->x2) * BRDF(x2->x,x->x1)
d w(x->x2) = (cos(N2)/length(x,x2)) * d A(x2)
带入上面的方程:
L (x->x1) = 积分 ( L (x2->x) * BRDF(x2->x,x->x1) * vis(x,x2) * (cos(N) * cos(N2))/length(x,x2) * d A(x2)
我们把vis(x,x2)* (cos(N) * cos(N2))/length(x,x2)使用G(x2,x)代替表示几何关系这样就得到了最上面的方程
L (x->x1) = 积分 ( L (x2->x) * BRDF(x2->x,x->x1) * G (x2,x) * d A(x2)
结束
由渲染公式出辐射度公式( 假设x点自身不发光)
L (x->x1) = 积分 ( L (x2->x) * BRDF(x2->x,x->x1) * G (x2,x) * d A(x2)
首先:
对于diffuse反射来说
BRDF=K/PI;
K是漫反射率
而且
B=L * PI;
所以
L (x->x1) = 积分 ( L (x2->x) * BRDF(x2->x,x->x1) * G (x2,x) * d A(x2)
可以推导为
L (x->x1) * PI = PI * 积分 ( L (x2->x) * BRDF(x2->x,x->x1) * G (x2,x) * d A(x2)
B(x) = 积分 ( B(x2) * BRDF(x2->x,x->x1) * G (x2,x) * d A(x2)
B(x) = 积分 ( B(x2) * K/PI * G (x2,x) * d A(x2)
B(x) = K * 积分 ( B(x2) * (G (x2,x) /PI) * d A(x2)
我们知道
G (x2,x) = vis(x,x2) *cos(N)*cos(N2)/(length(x2,x))
G (x2,x) / PI = vis(x,x2) *cos(N)*cos(N2)/(length(x2,x) * PI)
(G (x2,x) / PI)*d A(x2) = vis(x,x2) *cos(N)*cos(N2)/(length(x2,x) * PI) * d A(x2)
这个就是我们计算的形状因子F(x,x2)
B(x) = K * 积分 ( B(x2) * F(x,x2))
B(x) = K * 总和 ( B(x2) * F(x,x2))
就得出了辐射度方程