D3DXFresnelTerm-Funktion (D3DX10Math.h)

Hinweis

Die D3DX-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.

Berechnen Sie den Fresnel-Begriff.

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-Begriff für unpolarisiertes Licht zurück. CosTheta ist die Kosinus des Einfallswinkels.

Bemerkungen

So finden Sie den Fresnel-Begriff (F):

Wenn A ein Einfallswinkel und B der Brechungswinkel 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

Wenn Sie dann die Trigidentitäten erweitern und vereinfachen, erhalten 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
D3DX10Math.h
Bibliothek
D3DX10.lib

Siehe auch

Mathematische Funktionen