CG的refract函数定义如下: refract(I, N, eta) 根据入射光线方向I,表面法向量N和折射相对系数eta,计算折射向量.如果对给定的eta,I和N之间的角度太大,返回(0,0,0).只对三元向量有效. 它的一个简单实现如下: float3 refract(float3 i, float3 n, float eta) { float cosi = dot(-i, n); - eta * eta * ( - cosi * cosi); float3 t = eta * i +…