D3DXFresnelTerm 関数 (D3DX10Math.h)

注意

D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。

フレネル項を計算します。

構文

FLOAT D3DXFresnelTerm(
  _In_ FLOAT CosTheta,
  _In_ FLOAT RefractionIndex
);

パラメーター

CosTheta [in]

型: FLOAT

この値は、0 から 1 までの値である必要があります。

RefrefionIndex [in]

型: FLOAT

マテリアルの屈折率。 値は 1 より大きくする必要があります。

戻り値

型: FLOAT

この関数は、非分極化ライトの Fresnel 項を返します。 CosTheta は、入射角度のコサインです。

注釈

Fresnel 用語 (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

次に、トライグ ID を使用して拡張し、簡略化すると、次の処理が行われます。

F = 0.5 * (g + c)2 / (g - c)2 * ([c(g + c) - 1]2 / [c(g - c) + 1]2 + 1)

要件

要件
ヘッダー
D3DX10Math.h
ライブラリ
D3DX10.lib

関連項目

数値演算関数