2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-02-08 16:03:45 +00:00
|
|
|
\defgroup gtc GTC Extensions (Stable)
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
\brief Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
GTC extensions aim to be stable.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
Even if it's highly unrecommended, it's possible to include all the extensions at once by
|
|
|
|
including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-05-16 16:49:47 +00:00
|
|
|
\defgroup gtc_half_float GLM_GTC_half_float: Half-precision floating-point based types and functions
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
Defines the half-precision floating-point type, along with various typedefs for vectors and matrices.
|
|
|
|
<glm/gtc/half_float.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-05-16 16:49:47 +00:00
|
|
|
\defgroup gtc_matrix_access GLM_GTC_matrix_access: Access matrix rows and columns
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
Defines functions to access rows or columns of a matrix easily.
|
|
|
|
<glm/gtc/matrix_access.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-05-16 16:49:47 +00:00
|
|
|
\defgroup gtc_matrix_integer GLM_GTC_matrix_integer: Integer matrix types
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
Defines a number of matrices with integer types.
|
|
|
|
<glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-02-09 13:51:54 +00:00
|
|
|
\defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse: Additional matrix inverse function
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
Defines additional matrix inverting functions.
|
|
|
|
<glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-05-16 16:49:47 +00:00
|
|
|
\defgroup gtc_matrix_transform GLM_GTC_matrix_transform: Matrix transform functions
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
\brief Defines functions that generate common transformation matrices.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
The matrices generated by this extension use standard OpenGL fixed-function
|
|
|
|
conventions. For example, the lookAt function generates a transform from world
|
|
|
|
space into the specific eye space that the projective matrix functions (
|
|
|
|
perspective, ortho, etc) are designed to expect. The OpenGL compatibility
|
|
|
|
specifications defines the particular layout of this eye space.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
<glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-02-09 13:51:54 +00:00
|
|
|
\defgroup gtc_quaternion GLM_GTC_quaternion: Quaternion types and functions
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
\brief Defines a templated quaternion type and several quaternion operations.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
<glm/gtc/quaternion.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-05-16 16:49:47 +00:00
|
|
|
\defgroup gtc_type_precision GLM_GTC_type_precision: Vector and matrix types with defined precisions
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
\brief Defines specific C++-based precision types.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
\ref core_precision defines types based on GLSL's precision qualifiers. This
|
|
|
|
extension defines types based on explicitly-sized C++ data types.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
<glm/gtc/type_precision.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
/*!
|
2011-05-16 16:49:47 +00:00
|
|
|
\defgroup gtc_type_ptr GLM_GTC_type_ptr: Memory layout access
|
2011-02-07 12:31:35 +00:00
|
|
|
\ingroup gtc
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
\brief Used to get a pointer to the memory layout of a basic type.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
This extension defines an overloaded function, glm::value_ptr, which
|
|
|
|
takes any of the \ref core_template "core template types". It returns
|
|
|
|
a pointer to the memory layout of the object. Matrix types store their values
|
2011-02-09 13:51:54 +00:00
|
|
|
in column-major order.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
This is useful for uploading data to matrices or copying data to buffer objects.
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
Example:
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
\code
|
|
|
|
#include <glm/glm.hpp>
|
2011-02-08 16:03:45 +00:00
|
|
|
#include <glm/gtc/type_ptr.hpp>
|
2011-02-09 13:51:54 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
glm::vec3 aVector(3);
|
|
|
|
glm::mat4 someMatrix(1.0);
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-07 12:31:35 +00:00
|
|
|
glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
|
|
|
|
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));
|
|
|
|
\endcode
|
2011-02-05 00:52:58 +00:00
|
|
|
|
2011-02-09 13:51:54 +00:00
|
|
|
<glm/gtc/type_ptr.hpp> need to be included to use these functionalities.
|
2011-02-05 00:52:58 +00:00
|
|
|
**/
|
|
|
|
|