/*! \defgroup gtc GLM Core Extensions \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. You can bring all of the extensions, core or experimental, in by including 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 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 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 to get this functionality. **/ /*! \defgroup gtc_matrix_inverse Matrix Inverse Core Extension \ingroup gtc \brief Defines additional matrix inverting functions. You must include 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 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 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 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 #include 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 to get this functionality. **/