| 0.9.9 API documenation

- Main Page
- Modules
- Files

- File List

func_geometric.hpp
Go to the documentation of this file.
1
11 #pragma once
12
13 #include "type_vec3.hpp"
14
15 namespace glm
16 {
19
26 template <typename T, precision P, template <typename, precision> class vecType>
27 GLM_FUNC_DECL T length(
28 vecType<T, P> const & x);
29
36 template <typename T, precision P, template <typename, precision> class vecType>
37 GLM_FUNC_DECL T distance(
38 vecType<T, P> const & p0,
39 vecType<T, P> const & p1);
40
47 template <typename T, precision P, template <typename, precision> class vecType>
48 GLM_FUNC_DECL T dot(
49 vecType<T, P> const & x,
50 vecType<T, P> const & y);
51
58 template <typename T, precision P>
59 GLM_FUNC_DECL tvec3<T, P> cross(
60 tvec3<T, P> const & x,
61 tvec3<T, P> const & y);
62
68 template <typename T, precision P, template <typename, precision> class vecType>
69 GLM_FUNC_DECL vecType<T, P> normalize(
70 vecType<T, P> const & x);
71
78 template <typename T, precision P, template <typename, precision> class vecType>
79 GLM_FUNC_DECL vecType<T, P> faceforward(
80 vecType<T, P> const & N,
81 vecType<T, P> const & I,
82 vecType<T, P> const & Nref);
83
91 template <typename genType>
92 GLM_FUNC_DECL genType reflect(
93 genType const & I,
94 genType const & N);
95
104 template <typename T, precision P, template <typename, precision> class vecType>
105 GLM_FUNC_DECL vecType<T, P> refract(
106 vecType<T, P> const & I,
107 vecType<T, P> const & N,
108 T eta);
109
111 }//namespace glm
112
113 #include "func_geometric.inl"
glm::faceforward
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::normalize
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.
glm::distance
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::cross
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.
glm::length
GLM_FUNC_DECL T length(vecType< T, P > 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 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
Definition: _noise.hpp:11
type_vec3.hpp
GLM Core
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.