glm/doc/gtc.doxy
2011-02-08 16:03:45 +00:00

115 lines
3.4 KiB
Plaintext

/*!
\defgroup gtc GTC Extensions (Stable)
\brief Functions and types that GLSL does not provide, but are useful to have.
Core extensions differ from \ref gtx "experimental extensions" in that core extensions
are fairly stable. The API for experimental extensions is expected to change
significantly between versions.
Even if it's highly unrecommended, you can bring all of the extensions, by
including <glm/ext.hpp>. Otherwise, you will have to include each extension
by including a specific file.
**/
/*!
\defgroup gtc_half_float Half Float Core Extension
\ingroup gtc
\brief Defines the half-float type, along with various typedefs for vectors and matrices.
You must include <glm/gtc/half_float.hpp> to get this functionality.
**/
/*!
\defgroup gtc_matrix_access Matrix Access Core Extension
\ingroup gtc
\brief Defines functions that allow you to access rows or columns of a matrix easily.
You must include <glm/gtc/matrix_access.hpp> to get this functionality.
**/
/*!
\defgroup gtc_matrix_integer Integer Matrix Core Extension
\ingroup gtc
\brief Defines a number of matrices with integer types.
You must include <glm/gtc/matrix_integer.hpp> to get this functionality.
**/
/*!
\defgroup gtc_matrix_inverse Matrix Inverse Core Extension
\ingroup gtc
\brief Defines additional matrix inverting functions.
You must include <glm/gtc/matrix_inverse.hpp> to get this functionality.
**/
/*!
\defgroup gtc_matrix_transform Matrix Transform Core Extension
\ingroup gtc
\brief Defines functions that generate common transformation matrices.
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.
You must include <glm/gtc/matrix_transform.hpp> to get this functionality.
**/
/*!
\defgroup gtc_quaternion Quaternion Core Extension
\ingroup gtc
\brief Defines a templated quaternion type and several quaternion operations.
You must include <glm/gtc/quaternion.hpp> to get this functionality.
**/
/*!
\defgroup gtc_type_precision Type Precision Core Extension
\ingroup gtc
\brief Defines specific C++-based precision types.
\ref core_precision defines types based on GLSL's precision qualifiers. This
extension defines types based on explicitly-sized C++ data types.
You must include the file <glm/gtc/type_precision.hpp> to get this functionality.
**/
/*!
\defgroup gtc_type_ptr Pointer Access Core Extension
\ingroup gtc
\brief Used to get a pointer to the memory layout of a basic type.
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
in row-major order.
This is useful for uploading data to matrices or copying data to buffer objects.
Example:
\code
#include <glm/glm.hpp>
#include <glm/gtc/type_ptr.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));
\endcode
You must include the file <glm/gtc/type_ptr.hpp> to get this functionality.
**/