SIMPLE SOLUTIONS

REFRACT(3G) - Linux man page online | Library functions

Calculate the refraction direction for an incident vector.

Chapter
01/03/2018
REFRACT(3G) [FIXME: manual] REFRACT(3G)

NAME

refract - calculate the refraction direction for an incident vector

DECLARATION

genType refract(genType I, genType N, float eta); genDType refract(genDType I, genDType N, float eta);

PARAMETERS

I Specifies the incident vector. N Specifies the normal vector. eta Specifies the ratio of indices of refraction.

DESCRIPTION

For a given incident vector I, surface normal N and ratio of indices of refraction, eta, refract returns the refraction vector, R. R is calculated as: k = 1.0 - eta * eta * (1.0 - dot(N, I) * dot(N, I)); if (k < 0.0) R = genType(0.0); // or genDType(0.0) else R = eta * I - (eta * dot(N, I) + sqrt(k)) * N; The input parameters I and N should be normalized in order to achieve the desired result.

VERSION SUPPORT

┌───────────┬──────────────────────────────────────────────────────────────────────────────── ↲ ───┐ │ │ OpenGL Shading Language Version ↲ │ ├───────────┼──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬─── ↲ ───┤ │Function │ 1.10 │ 1.20 │ 1.30 │ 1.40 │ 1.50 │ 3.30 │ 4.00 │ 4.10 │ 4.20 │ 4.30 │ 4.40 │ 4. ↲ 50 │ │Name │ │ │ │ │ │ │ │ │ │ │ │ ↲ │ ├───────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─── ↲ ───┤ │refract │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ ↲ │ │(genType) │ │ │ │ │ │ │ │ │ │ │ │ ↲ │ ├───────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─── ↲ ───┤ │refract │ - │ - │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ ↲ │ │(genDType) │ │ │ │ │ │ │ │ │ │ │ │ ↲ │ └───────────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴─── ↲ ───┘

SEE ALSO

dot(), reflect()
Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.
Copyright © 2011-2014 Khronos Group
[FIXME: source] 01/03/2018 REFRACT(3G)
Download raw manual
Main page [FIXME: manual] (+786) [FIXME: source] (+784) № 3 (+68044)
Go top