gtcModules.doxy 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*!
  2. \defgroup gtc GTC Extensions (Stable)
  3. \brief Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.
  4. GTC extensions aim to be stable.
  5. Even if it's highly unrecommended, it's possible to include all the extensions at once by
  6. including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.
  7. **/
  8. /*!
  9. \defgroup gtc_half_float GLM_GTC_half_float: Half-precision floating-point based types and functions.
  10. \ingroup gtc
  11. Defines the half-precision floating-point type, along with various typedefs for vectors and matrices.
  12. <glm/gtc/half_float.hpp> need to be included to use these functionalities.
  13. **/
  14. /*!
  15. \defgroup gtc_matrix_access GLM_GTC_matrix_access: Access matrix rows and columns.
  16. \ingroup gtc
  17. Defines functions to access rows or columns of a matrix easily.
  18. <glm/gtc/matrix_access.hpp> need to be included to use these functionalities.
  19. **/
  20. /*!
  21. \defgroup gtc_matrix_integer GLM_GTC_matrix_integer: Integer matrix types.
  22. \ingroup gtc
  23. Defines a number of matrices with integer types.
  24. <glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.
  25. **/
  26. /*!
  27. \defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse: Additional matrix inverse function
  28. \ingroup gtc
  29. Defines additional matrix inverting functions.
  30. <glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.
  31. **/
  32. /*!
  33. \defgroup gtc_matrix_transform GLM_GTC_matrix_transform: Matrix transform functions.
  34. \ingroup gtc
  35. \brief Defines functions that generate common transformation matrices.
  36. The matrices generated by this extension use standard OpenGL fixed-function
  37. conventions. For example, the lookAt function generates a transform from world
  38. space into the specific eye space that the projective matrix functions (
  39. perspective, ortho, etc) are designed to expect. The OpenGL compatibility
  40. specifications defines the particular layout of this eye space.
  41. <glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.
  42. **/
  43. /*!
  44. \defgroup gtc_quaternion GLM_GTC_quaternion: Quaternion types and functions
  45. \ingroup gtc
  46. \brief Defines a templated quaternion type and several quaternion operations.
  47. <glm/gtc/quaternion.hpp> need to be included to use these functionalities.
  48. **/
  49. /*!
  50. \defgroup gtc_type_precision GLM_GTC_type_precision: Vector and matrix types with defined precisions.
  51. \ingroup gtc
  52. \brief Defines specific C++-based precision types.
  53. \ref core_precision defines types based on GLSL's precision qualifiers. This
  54. extension defines types based on explicitly-sized C++ data types.
  55. <glm/gtc/type_precision.hpp> need to be included to use these functionalities.
  56. **/
  57. /*!
  58. \defgroup gtc_type_ptr GLM_GTC_type_ptr: Memory layout access.
  59. \ingroup gtc
  60. \brief Used to get a pointer to the memory layout of a basic type.
  61. This extension defines an overloaded function, glm::value_ptr, which
  62. takes any of the \ref core_template "core template types". It returns
  63. a pointer to the memory layout of the object. Matrix types store their values
  64. in column-major order.
  65. This is useful for uploading data to matrices or copying data to buffer objects.
  66. Example:
  67. \code
  68. #include <glm/glm.hpp>
  69. #include <glm/gtc/type_ptr.hpp>
  70. glm::vec3 aVector(3);
  71. glm::mat4 someMatrix(1.0);
  72. glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
  73. glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));
  74. \endcode
  75. <glm/gtc/type_ptr.hpp> need to be included to use these functionalities.
  76. **/