0.9.6
func_geometric.hpp
Go to the documentation of this file.
1 
36 #pragma once
37 
38 #include "type_vec3.hpp"
39 
40 namespace glm
41 {
44 
51  template <typename T, precision P, template <typename, precision> class vecType>
52  GLM_FUNC_DECL T length(
53  vecType<T, P> const & x);
54 
61  template <typename T, precision P, template <typename, precision> class vecType>
62  GLM_FUNC_DECL T distance(
63  vecType<T, P> const & p0,
64  vecType<T, P> const & p1);
65 
72  template <typename T, precision P, template <typename, precision> class vecType>
73  GLM_FUNC_DECL T dot(
74  vecType<T, P> const & x,
75  vecType<T, P> const & y);
76 
83  template <typename T, precision P>
84  GLM_FUNC_DECL tvec3<T, P> cross(
85  tvec3<T, P> const & x,
86  tvec3<T, P> const & y);
87 
93  template <typename T, precision P, template <typename, precision> class vecType>
94  GLM_FUNC_DECL vecType<T, P> normalize(
95  vecType<T, P> const & x);
96 
103  template <typename genType>
104  GLM_FUNC_DECL genType faceforward(
105  genType const & N,
106  genType const & I,
107  genType const & Nref);
108 
116  template <typename genType>
117  GLM_FUNC_DECL genType reflect(
118  genType const & I,
119  genType const & N);
120 
129  template <typename T, precision P, template <typename, precision> class vecType>
130  GLM_FUNC_DECL vecType<T, P> refract(
131  vecType<T, P> const & I,
132  vecType<T, P> const & N,
133  T eta);
134 
136 }//namespace glm
137 
138 #include "func_geometric.inl"
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
OpenGL Mathematics (glm.g-truc.net)
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
Definition: _noise.hpp:31
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_FUNC_DECL T distance(vecType< T, P > const &p0, vecType< T, P > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
GLM_FUNC_DECL genType faceforward(genType const &N, genType const &I, genType const &Nref)
If dot(Nref, I) < 0.0, return N, otherwise, return -N.
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_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &x, tvec3< T, P > const &y)
Returns the cross product of x and y.