这个例子涉及到了折射,
折射函数,refract(入射光方向,法向量,折射相对系数)
另外,由于反射的是周围物体的纹理,而不是自身的纹理,所以在顶点着色器中,法线方向是转到世界坐标矩阵,而不是世界坐标的逆转置矩阵
即
Output.Normal = normalize(mul(In.Normal, (float3x3)g_matWorld ));
像素着色器中,
float3 vReflect = refract(In.ReflectInVertex, In.Normal, 0.1);
float4 vColor = texCUBE(MeshCubeSampler, vReflect.xyz );
return float4(vColor.xyz, 1.0 );