D3DXFresnelTerm-Funktion (D3DX10Math.h)
Hinweis
Die D3DX-Hilfsbibliothek ist veraltet. Es wird empfohlen, directXMath stattdessen zu verwenden.
Berechnen Sie den Fresnel-Ausdruck.
Syntax
FLOAT D3DXFresnelTerm(
_In_ FLOAT CosTheta,
_In_ FLOAT RefractionIndex
);
Parameter
-
CosTheta [in]
-
Typ: FLOAT
Der Wert muss zwischen 0 und 1 liegen.
-
RefractionIndex [in]
-
Typ: FLOAT
Der Brechungsindex eines Materials. Der Wert muss größer als 1 sein.
Rückgabewert
Typ: FLOAT
Diese Funktion gibt den Fresnel-Ausdruck für unpolarisiertes Licht zurück. CosTheta ist die Cosine des Vorfallwinkels.
Hinweise
So finden Sie den Fresnel-Ausdruck (F):
Wenn A den Winkel der Verschiebung ist und B der Winkel der Brechung ist, dann
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
Erweitern Sie dann die Trigidentitäten und vereinfachen Sie folgendes:
F = 0.5 * (g + c)2 / (g - c)2 * ([c(g + c) - 1]2 / [c(g - c) + 1]2 + 1)
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch