Flow Visualisation
GLM_GTC_type_ptr

Handles the interaction between pointers and vector, matrix types. More...

Collaboration diagram for GLM_GTC_type_ptr:

Functions

template<typename genType >
genType::value_type const * glm::value_ptr (genType const &vec)
 
template<typename T >
detail::tvec2< T > glm::make_vec2 (T const *const ptr)
 
template<typename T >
detail::tvec3< T > glm::make_vec3 (T const *const ptr)
 
template<typename T >
detail::tvec4< T > glm::make_vec4 (T const *const ptr)
 
template<typename T >
detail::tmat2x2< T > glm::make_mat2x2 (T const *const ptr)
 
template<typename T >
detail::tmat2x3< T > glm::make_mat2x3 (T const *const ptr)
 
template<typename T >
detail::tmat2x4< T > glm::make_mat2x4 (T const *const ptr)
 
template<typename T >
detail::tmat3x2< T > glm::make_mat3x2 (T const *const ptr)
 
template<typename T >
detail::tmat3x3< T > glm::make_mat3x3 (T const *const ptr)
 
template<typename T >
detail::tmat3x4< T > glm::make_mat3x4 (T const *const ptr)
 
template<typename T >
detail::tmat4x2< T > glm::make_mat4x2 (T const *const ptr)
 
template<typename T >
detail::tmat4x3< T > glm::make_mat4x3 (T const *const ptr)
 
template<typename T >
detail::tmat4x4< T > glm::make_mat4x4 (T const *const ptr)
 
template<typename T >
detail::tmat2x2< T > glm::make_mat2 (T const *const ptr)
 
template<typename T >
detail::tmat3x3< T > glm::make_mat3 (T const *const ptr)
 
template<typename T >
detail::tmat4x4< T > glm::make_mat4 (T const *const ptr)
 
template<typename T >
detail::tquat< T > glm::make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tvec2< T > const &vec)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tvec2< T > &vec)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tvec3< T > const &vec)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tvec3< T > &vec)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tvec4< T > const &vec)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tvec4< T > &vec)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat2x2< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat2x2< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat3x3< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat3x3< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat4x4< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat4x4< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat2x3< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat2x3< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat3x2< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat3x2< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat2x4< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat2x4< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat4x2< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat4x2< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat3x4< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat3x4< T > &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tmat4x3< T > const &mat)
 
template<typename T >
GLM_FUNC_QUALIFIER T const * glm::value_ptr (detail::tquat< T > const &q)
 
template<typename T >
GLM_FUNC_QUALIFIER T * glm::value_ptr (detail::tmat4x3< T > &mat)
 

Detailed Description

Handles the interaction between pointers and vector, matrix types.

This extension defines an overloaded function, glm::value_ptr, which takes any of the core template types. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.

This is useful for uploading data to matrices or copying data to buffer objects.

Example:

#include <glm/glm.hpp>
glm::vec3 aVector(3);
glm::mat4 someMatrix(1.0);
glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));

<glm/gtc/type_ptr.hpp> need to be included to use these functionalities.

Function Documentation

template<typename T >
detail::tmat2x2<T> glm::make_mat2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat2x2<T> glm::make_mat2x2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat2x3<T> glm::make_mat2x3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat2x4<T> glm::make_mat2x4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat3x3<T> glm::make_mat3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat3x2<T> glm::make_mat3x2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat3x3<T> glm::make_mat3x3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat3x4<T> glm::make_mat3x4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat4x4<T> glm::make_mat4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat4x2<T> glm::make_mat4x2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat4x3<T> glm::make_mat4x3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tmat4x4<T> glm::make_mat4x4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tquat<T> glm::make_quat ( T const *const  ptr)

Build a quaternion from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tvec2<T> glm::make_vec2 ( T const *const  ptr)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tvec3<T> glm::make_vec3 ( T const *const  ptr)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
detail::tvec4<T> glm::make_vec4 ( T const *const  ptr)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tvec2< T > const &  vec)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tvec2< T > &  vec)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tvec3< T > const &  vec)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tvec3< T > &  vec)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename genType >
genType::value_type const* glm::value_ptr ( genType const &  vec)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tvec4< T > const &  vec)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tvec4< T > &  vec)

Return the constant address to the data of the input parameter. From GLM_GTC_type_ptr extension.

template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat2x2< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat2x2< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat3x3< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat3x3< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat4x4< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat4x4< T > &  mat)

Return the constant address to the data of the input parameter. From GLM_GTC_type_ptr extension.

template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat2x3< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat2x3< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat3x2< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat3x2< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat2x4< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat2x4< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat4x2< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat4x2< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat3x4< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat3x4< T > &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tmat4x3< T > const &  mat)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T const* glm::value_ptr ( detail::tquat< T > const &  q)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
template<typename T >
GLM_FUNC_QUALIFIER T* glm::value_ptr ( detail::tmat4x3< T > &  mat)

Get the address of the matrix content.

See also
GLM_GTC_type_ptr