D3DXFresnelTerm 함수(D3DX10Math.h)
참고
D3DX 유틸리티 라이브러리는 더 이상 사용되지 않습니다. 대신 DirectXMath 를 사용하는 것이 좋습니다.
Fresnel 용어를 계산합니다.
구문
FLOAT D3DXFresnelTerm(
_In_ FLOAT CosTheta,
_In_ FLOAT RefractionIndex
);
매개 변수
-
CosTheta [in]
-
형식: FLOAT
값은 0에서 1 사이여야 합니다.
-
RefractionIndex [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
그런 다음, trig ID를 사용하여 확장하고 간소화하면 다음을 얻을 수 있습니다.
F = 0.5 * (g + c)2 / (g - c)2 * ([c(g + c) - 1]2 / [c(g - c) + 1]2 + 1)
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보