/*! \defgroup gtc GTC Extensions (Stable) \brief Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program. GTC extensions aim to be stable. Even if it's highly unrecommended, it's possible to include all the extensions at once by including . Otherwise, each extension needs to be included a specific file. **/ /*! \defgroup gtc_half_float GLM_GTC_half_float: Half-precision floating-point based types and functions. \ingroup gtc Defines the half-precision floating-point type, along with various typedefs for vectors and matrices. need to be included to use these functionalities. **/ /*! \defgroup gtc_matrix_access GLM_GTC_matrix_access: Access matrix rows and columns. \ingroup gtc Defines functions to access rows or columns of a matrix easily. need to be included to use these functionalities. **/ /*! \defgroup gtc_matrix_integer GLM_GTC_matrix_integer: Integer matrix types. \ingroup gtc Defines a number of matrices with integer types. need to be included to use these functionalities. **/ /*! \defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse: Additional matrix inverse function \ingroup gtc Defines additional matrix inverting functions. need to be included to use these functionalities. **/ /*! \defgroup gtc_matrix_transform GLM_GTC_matrix_transform: Matrix transform functions. \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. need to be included to use these functionalities. **/ /*! \defgroup gtc_quaternion GLM_GTC_quaternion: Quaternion types and functions \ingroup gtc \brief Defines a templated quaternion type and several quaternion operations. need to be included to use these functionalities. **/ /*! \defgroup gtc_type_precision GLM_GTC_type_precision: Vector and matrix types with defined precisions. \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. need to be included to use these functionalities. **/ /*! \defgroup gtc_type_ptr GLM_GTC_type_ptr: Memory layout access. \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 column-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 need to be included to use these functionalities. **/