0.9.7
func_geometric.hpp
Go to the documentation of this file.
1 
40 #pragma once
41 
42 #include "type_vec3.hpp"
43 
44 namespace glm
45 {
48 
55  template <typename T, precision P, template <typename, precision> class vecType>
56  GLM_FUNC_DECL T length(
57  vecType<T, P> const & x);
58 
65  template <typename T, precision P, template <typename, precision> class vecType>
66  GLM_FUNC_DECL T distance(
67  vecType<T, P> const & p0,
68  vecType<T, P> const & p1);
69 
76  template <typename T, precision P, template <typename, precision> class vecType>
77  GLM_FUNC_DECL T dot(
78  vecType<T, P> const & x,
79  vecType<T, P> const & y);
80 
87  template <typename T, precision P>
88  GLM_FUNC_DECL tvec3<T, P> cross(
89  tvec3<T, P> const & x,
90  tvec3<T, P> const & y);
91 
97  template <typename T, precision P, template <typename, precision> class vecType>
98  GLM_FUNC_DECL vecType<T, P> normalize(
99  vecType<T, P> const & x);
100 
107  template <typename T, precision P, template <typename, precision> class vecType>
108  GLM_FUNC_DECL vecType<T, P> faceforward(
109  vecType<T, P> const & N,
110  vecType<T, P> const & I,
111  vecType<T, P> const & Nref);
112 
120  template <typename genType>
121  GLM_FUNC_DECL genType reflect(
122  genType const & I,
123  genType const & N);
124 
133  template <typename T, precision P, template <typename, precision> class vecType>
134  GLM_FUNC_DECL vecType<T, P> refract(
135  vecType<T, P> const & I,
136  vecType<T, P> const & N,
137  T eta);
138 
140 }//namespace glm
141 
142 #include "func_geometric.inl"
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).
OpenGL Mathematics (glm.g-truc.net)
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 > 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...
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.
Definition: _noise.hpp:40
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 vecType< T, P > faceforward(vecType< T, P > const &N, vecType< T, P > const &I, vecType< T, P > 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.