D3DXFresnelTerm 函数 (D3DX10Math.h)
注意
D3DX 实用工具库已弃用。 建议改用 DirectXMath 。
计算菲涅尔项。
语法
FLOAT D3DXFresnelTerm(
_In_ FLOAT CosTheta,
_In_ FLOAT RefractionIndex
);
参数
返回值
类型: FLOAT
此函数返回非极化光的菲涅尔项。 CosTheta 是事件角的余弦值。
备注
若要查找 F) (菲涅尔词:
如果 A 为入射角,B 为折射角,则
F = 0.5 * [tan2(A - B) / tan2(A + B) + sin2(A - B) / sin2(A + B)]
= 0.5 * sin2(A - B) / sin2(A + B) * [cos2(A + B) / cos2(A - B) + 1]
Let r = sina(A) / sin(B) (the relative refractive index)
Let c = cos(A)
Let g = (r2 + c2 - 1)1/2
然后,使用 trig 标识进行扩展并简化,你将获得:
F = 0.5 * (g + c)2 / (g - c)2 * ([c(g + c) - 1]2 / [c(g - c) + 1]2 + 1)
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅