Compartir a través de


Función D3DXFresnelTerm (D3DX10Math.h)

Nota

La biblioteca de utilidades D3DX está en desuso. Se recomienda usar DirectXMath en su lugar.

Calcule el término Fresnel.

Sintaxis

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

Parámetros

CosTheta [in]

Tipo: FLOAT

El valor debe estar entre 0 y 1.

RefractionIndex [in]

Tipo: FLOAT

Índice de refracción de un material. El valor debe ser mayor que 1.

Valor devuelto

Tipo: FLOAT

Esta función devuelve el término Fresnel para la luz nopolarizada. CosTheta es el coseno del ángulo del incidente.

Observaciones

Para buscar el término de Fresnel (F):

Si A es ángulo de incidencia y B es el ángulo de refracción, entonces

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

A continuación, expanda mediante las identidades trig y simplifique, obtendrá:

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

Requisitos

Requisito Value
Encabezado
D3DX10Math.h
Biblioteca
D3DX10.lib

Consulte también

Funciones matemáticas