GLM Version 0.9.0
Functions

glm::core::function::geometric Namespace Reference

Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace. More...

Functions

template<typename T >
detail::tvec3< T > cross (detail::tvec3< T > const &x, detail::tvec3< T > const &y)
 Returns the cross product of x and y.
template<typename genType >
genType::value_type distance (genType const &p0, genType const &p1)
 Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
template<typename genType >
genType::value_type dot (genType const &x, genType const &y)
 Returns the dot product of x and y, i.e., result = x * y.
template<typename genType >
genType faceforward (genType const &N, genType const &I, genType const &Nref)
 If dot(Nref, I) < 0.0, return N, otherwise, return -N.
template<typename genType >
genType::value_type length (genType const &x)
 Returns the length of x, i.e., sqrt(x * x).
template<typename genType >
genType normalize (genType const &x)
 Returns a vector in the same direction as x but with length of 1.
template<typename genType >
genType reflect (genType const &I, genType const &N)
 For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.
template<typename genType >
genType refract (genType const &I, genType const &N, typename genType::value_type const &eta)
 For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

Detailed Description

Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace.


Function Documentation

detail::tvec3<T> glm::core::function::geometric::cross ( detail::tvec3< T > const &  x,
detail::tvec3< T > const &  y 
)

Returns the cross product of x and y.

(From GLSL 1.30.08 specification, section 8.4)

genType::value_type glm::core::function::geometric::distance ( genType const &  p0,
genType const &  p1 
)

Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).

(From GLSL 1.30.08 specification, section 8.4)

genType::value_type glm::core::function::geometric::dot ( genType const &  x,
genType const &  y 
)

Returns the dot product of x and y, i.e., result = x * y.

(From GLSL 1.30.08 specification, section 8.4)

genType glm::core::function::geometric::faceforward ( genType const &  N,
genType const &  I,
genType const &  Nref 
)

If dot(Nref, I) < 0.0, return N, otherwise, return -N.

(From GLSL 1.30.08 specification, section 8.4)

genType::value_type glm::core::function::geometric::length ( genType const &  x)

Returns the length of x, i.e., sqrt(x * x).

(From GLSL 1.30.08 specification, section 8.4)

genType glm::core::function::geometric::normalize ( genType const &  x)

Returns a vector in the same direction as x but with length of 1.

(From GLSL 1.30.08 specification, section 8.4)

genType glm::core::function::geometric::reflect ( genType const &  I,
genType const &  N 
)

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

(From GLSL 1.30.08 specification, section 8.4)

genType glm::core::function::geometric::refract ( genType const &  I,
genType const &  N,
typename genType::value_type const &  eta 
)

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

(From GLSL 1.30.08 specification, section 8.4)