GLM: func_geometric.hpp Source File

GLM 0.9.5

- Main Page
- Related Pages
- Modules
- Namespaces
- Files

- File List

func_geometric.hpp
1
36 #ifndef glm_core_func_geometric
37 #define glm_core_func_geometric
38
39 #include "type_vec3.hpp"
40
41 namespace glm
42 {
45
52 template <typename genType>
53 GLM_FUNC_DECL typename genType::value_type length(
54 genType const & x);
55
62 template <typename genType>
63 GLM_FUNC_DECL typename genType::value_type distance(
64 genType const & p0,
65 genType const & p1);
66
73 template <typename T, precision P, template <typename, precision> class vecType>
74 GLM_FUNC_DECL T dot(
75 vecType<T, P> const & x,
76 vecType<T, P> const & y);
77
84 template <typename genType>
85 GLM_FUNC_DECL genType dot(
86 genType const & x,
87 genType const & y);
88
95 template <typename T, precision P>
96 GLM_FUNC_DECL detail::tvec3<T, P> cross(
97 detail::tvec3<T, P> const & x,
98 detail::tvec3<T, P> const & y);
99
104 template <typename genType>
105 GLM_FUNC_DECL genType normalize(
106 genType const & x);
107
114 template <typename genType>
115 GLM_FUNC_DECL genType faceforward(
116 genType const & N,
117 genType const & I,
118 genType const & Nref);
119
127 template <typename genType>
128 GLM_FUNC_DECL genType reflect(
129 genType const & I,
130 genType const & N);
131
140 template <typename T, precision P, template <typename, precision> class vecType>
141 GLM_FUNC_DECL vecType<T, P> refract(
142 vecType<T, P> const & I,
143 vecType<T, P> const & N,
144 T const & eta);
145
147 }//namespace glm
148
149 #include "func_geometric.inl"
150
151 #endif//glm_core_func_geometric
glm::faceforward
GLM_FUNC_DECL genType faceforward(genType const &N, genType const &I, genType const &Nref)
If dot(Nref, I) &lt; 0.0, return N, otherwise, return -N.
glm::dot
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
glm::cross
GLM_FUNC_DECL detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
glm::normalize
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
glm::length
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
glm::refract
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T const &eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
glm::reflect
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
glm::distance
GLM_FUNC_DECL genType::value_type distance(genType const &p0, genType const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).