gtxModules.doxy 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. /*!
  2. \defgroup gtx GTX Extensions (Experimental)
  3. \brief Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.
  4. Experimental extensions are useful functions and types, but the development of
  5. their API and functionality is not necessarily stable. They can change substantially
  6. between versions. Backwards compatibility is not much of an issue for them.
  7. Even if it's highly unrecommended, it's possible to include all the extensions at once by
  8. including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.
  9. **/
  10. /*!
  11. \defgroup gtx_associated_min_max GLM_GTX_associated_min_max: Associated Min/Max
  12. \ingroup gtx
  13. \brief Min and max functions that return associated values not the compared onces.
  14. <glm/gtx/associated_min_max.hpp> need to be included to use these functionalities.
  15. **/
  16. /*!
  17. \defgroup gtx_bit GLM_GTX_bit: Extended bitwise operations
  18. \ingroup gtx
  19. \brief Allow to perform bit operations on integer values
  20. <glm/gtx/bit.hpp> need to be included to use these functionalities.
  21. **/
  22. /*!
  23. \defgroup gtx_closest_point GLM_GTX_closest_point: Find closest point
  24. \ingroup gtx
  25. \brief Find the point on a straight line which is the closet of a point.
  26. <glm/gtx/closest_point.hpp> need to be included to use these functionalities.
  27. **/
  28. /*!
  29. \defgroup gtx_color_cast GLM_GTX_color_cast: Color conversion
  30. \ingroup gtx
  31. \brief Conversion between two color types.
  32. <glm/gtx/color_cast.hpp> need to be included to use these functionalities.
  33. **/
  34. /*!
  35. \defgroup gtx_color_space GLM_GTX_color_space: RGB to HSV conversion
  36. \ingroup gtx
  37. \brief Related to RGB to HSV conversions and operations.
  38. <glm/gtx/color_space.hpp> need to be included to use these functionalities.
  39. **/
  40. /*!
  41. \defgroup gtx_color_space_YCoCg GLM_GTX_color_space_YCoCg: RGB to YCoCg conversion
  42. \ingroup gtx
  43. \brief RGB to YCoCg conversions and operations
  44. <glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.
  45. **/
  46. /*!
  47. \defgroup gtx_compatibility GLM_GTX_compatibility: Cg and HLSL compatibility
  48. \ingroup gtx
  49. \brief Provide functions to increase the compatibility with Cg and HLSL languages
  50. <glm/gtx/compatibility.hpp> need to be included to use these functionalities.
  51. **/
  52. /*!
  53. \defgroup gtx_component_wise GLM_GTX_component_wise: Component wise
  54. \ingroup gtx
  55. \brief Operations between components of a type
  56. <glm/gtx/component_wise.hpp> need to be included to use these functionalities.
  57. **/
  58. /*!
  59. \defgroup gtx_epsilon GLM_GTX_epsilon: Epsilon comparison
  60. \ingroup gtx
  61. \brief Comparison functions for a user defined epsilon values.
  62. <glm/gtx/epsilon.hpp> need to be included to use these functionalities.
  63. **/
  64. /*!
  65. \defgroup gtx_euler_angles GLM_GTX_euler_angles: Matrix from euler angles
  66. \ingroup gtx
  67. \brief Build matrices from Euler angles.
  68. <glm/gtx/euler_angles.hpp> need to be included to use these functionalities.
  69. **/
  70. /*!
  71. \defgroup gtx_extend GLM_GTX_extend: Position extending
  72. \ingroup gtx
  73. \brief Extend a position from a source to a position at a defined length.
  74. <glm/gtx/extend.hpp> need to be included to use these functionalities.
  75. **/
  76. /*!
  77. \defgroup gtx_extented_min_max GLM_GTX_extented_min_max: Extended min max
  78. \ingroup gtx
  79. \brief Min and max functions for 3 to 4 parameters.
  80. <glm/gtx/extented_min_max.hpp> need to be included to use these functionalities.
  81. **/
  82. /*!
  83. \defgroup gtx_fast_exponential GLM_GTX_fast_exponential: Fast exponentiation functions
  84. \ingroup gtx
  85. \brief Fast but less accurate implementations of exponential based functions.
  86. <glm/gtx/fast_exponential.hpp> need to be included to use these functionalities.
  87. **/
  88. /*!
  89. \defgroup gtx_fast_square_root GLM_GTX_fast_square_root: Fast square root functions
  90. \ingroup gtx
  91. \brief Fast but less accurate implementations of square root based functions.
  92. <glm/gtx/fast_square_root.hpp> need to be included to use these functionalities.
  93. **/
  94. /*!
  95. \defgroup gtx_fast_trigonometry GLM_GTX_fast_trigonometry: Fast trigonometric functions
  96. \ingroup gtx
  97. \brief Fast but less accurate implementations of trigonometric functions.
  98. <glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities.
  99. **/
  100. /*!
  101. \defgroup gtx_handed_coordinate_space GLM_GTX_handed_coordinate_space: Space Handedness
  102. \ingroup gtx
  103. \brief To know if a set of three basis vectors defines a right or left-handed coordinate system.
  104. <glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities.
  105. **/
  106. /*!
  107. \defgroup gtx_inertia GLM_GTX_inertia: Intertial matrix
  108. \ingroup gtx
  109. \brief Create inertia matrices
  110. <glm/gtx/inertia.hpp> need to be included to use these functionalities.
  111. **/
  112. /*!
  113. \defgroup gtx_int_10_10_10_2 GLM_GTX_int_10_10_10_2: Packed integer
  114. \ingroup gtx
  115. \brief Pack vector to 1010102 integers. Storage only.
  116. <glm/gtx/int_10_10_10_2.hpp> need to be included to use these functionalities.
  117. **/
  118. /*!
  119. \defgroup gtx_integer GLM_GTX_integer: Extended integer functions
  120. \ingroup gtx
  121. \brief Add support for integer for core functions
  122. <glm/gtx/integer.hpp> need to be included to use these functionalities.
  123. **/
  124. /*!
  125. \defgroup gtx_intersect GLM_GTX_intersect: Intersection tests
  126. \ingroup gtx
  127. \brief Add intersection functions
  128. <glm/gtx/intersect.hpp> need to be included to use these functionalities.
  129. **/
  130. /*!
  131. \defgroup gtx_log_base GLM_GTX_log_base: Log with base
  132. \ingroup gtx
  133. \brief Logarithm for any base. base can be a vector or a scalar.
  134. <glm/gtx/log_base.hpp> need to be included to use these functionalities.
  135. **/
  136. /*!
  137. \defgroup gtx_matrix_cross_product GLM_GTX_matrix_cross_product: Cross product matrix form
  138. \ingroup gtx
  139. \brief Build cross product matrices
  140. <glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities.
  141. **/
  142. /*!
  143. \defgroup gtx_matrix_major_storage GLM_GTX_matrix_major_storage: Build matrix
  144. \ingroup gtx
  145. \brief Build matrices with specific matrix order, row or column
  146. <glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.
  147. **/
  148. /*!
  149. \defgroup gtx_matrix_operation GLM_GTX_matrix_operation: Extended matrix operations
  150. \ingroup gtx
  151. \brief Build diagonal matrices from vectors.
  152. <glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.
  153. **/
  154. /*!
  155. \defgroup gtx_matrix_query GLM_GTX_matrix_query: Query matrix properties
  156. \ingroup gtx
  157. \brief Query to evaluate matrix properties
  158. <glm/gtx/matrix_query.hpp> need to be included to use these functionalities.
  159. **/
  160. /*!
  161. \defgroup gtx_mixed_product GLM_GTX_mixed_producte: Mixed product
  162. \ingroup gtx
  163. \brief Mixed product of 3 vectors.
  164. <glm/gtx/mixed_product.hpp> need to be included to use these functionalities.
  165. **/
  166. /*!
  167. \defgroup gtx_multiple GLM_GTX_multiple: Multiples
  168. \ingroup gtx
  169. \brief Find the closest number of a number multiple of other number.
  170. <glm/gtx/multiple.hpp> need to be included to use these functionalities.
  171. **/
  172. /*!
  173. \defgroup gtx_norm GLM_GTX_norm: Vector norm calculations
  174. \ingroup gtx
  175. \brief Various way to compute vector norms.
  176. <glm/gtx/norm.hpp> need to be included to use these functionalities.
  177. **/
  178. /*!
  179. \defgroup gtx_normal GLM_GTX_normal: Compute normals
  180. \ingroup gtx
  181. \brief Compute the normal of a triangle.
  182. <glm/gtx/normal.hpp> need to be included to use these functionalities.
  183. **/
  184. /*!
  185. \defgroup gtx_normalize_dot GLM_GTX_normalize_dot: Normalize dot product
  186. \ingroup gtx
  187. \brief Dot product of vectors that need to be normalize with a single square root.
  188. <glm/gtx/normalized_dot.hpp> need to be included to use these functionalities.
  189. **/
  190. /*!
  191. \defgroup gtx_number_precision GLM_GTX_number_precision: Number precision
  192. \ingroup gtx
  193. \brief Defined size types.
  194. <glm/gtx/number_precision.hpp> need to be included to use these functionalities.
  195. **/
  196. /*!
  197. \defgroup gtx_ocl_type GLM_GTX_ocl_type: OpenCL types
  198. \ingroup gtx
  199. \brief OpenCL types.
  200. <glm/gtx/ocl_type.hpp> need to be included to use these functionalities.
  201. **/
  202. /*!
  203. \defgroup gtx_optimum_pow GLM_GTX_optimum_pow: Optimum pow
  204. \ingroup gtx
  205. \brief Integer exponentiation of power functions.
  206. <glm/gtx/optimum_pow.hpp> need to be included to use these functionalities.
  207. **/
  208. /*!
  209. \defgroup gtx_orthonormalize GLM_GTX_orthonormalize: Orthonormalize
  210. \ingroup gtx
  211. \brief Orthonormalize matrices.
  212. <glm/gtx/orthonormalize.hpp> need to be included to use these functionalities.
  213. **/
  214. /*!
  215. \defgroup gtx_perpendicular GLM_GTX_perpendicular: Perpendicular
  216. \ingroup gtx
  217. \brief Perpendicular of a vector from other one
  218. <glm/gtx/perpendicular.hpp> need to be included to use these functionalities.
  219. **/
  220. /*!
  221. \defgroup gtx_polar_coordinates GLM_GTX_polar_coordinates: Polar coordinates
  222. \ingroup gtx
  223. \brief Conversion from Euclidean space to polar space and revert.
  224. <glm/gtx/polar_coordinates.hpp> need to be included to use these functionalities.
  225. **/
  226. /*!
  227. \defgroup gtx_projection GLM_GTX_projection: Projection
  228. \ingroup gtx
  229. \brief Projection of a vector to other one
  230. <glm/gtx/projection.hpp> need to be included to use these functionalities.
  231. **/
  232. /*!
  233. \defgroup gtx_quaternion GLM_GTX_quaternion: Extented quaternion types and functions
  234. \ingroup gtx
  235. \brief Extented quaternion types and functions
  236. <glm/gtx/quaternion.hpp> need to be included to use these functionalities.
  237. **/
  238. /*!
  239. \defgroup gtx_random GLM_GTX_random: Random
  240. \ingroup gtx
  241. \brief Generate random number from various distribution methods
  242. <glm/gtx/random.hpp> need to be included to use these functionalities.
  243. **/
  244. /*!
  245. \defgroup gtx_raw_data GLM_GTX_raw_data: Raw data
  246. \ingroup gtx
  247. \brief Projection of a vector to other one
  248. <glm/gtx/raw_data.hpp> need to be included to use these functionalities.
  249. **/
  250. /*!
  251. \defgroup gtx_reciprocal GLM_GTX_reciprocal: Reciprocal
  252. \ingroup gtx
  253. \brief Define secant, cosecant and cotangent functions.
  254. <glm/gtx/reciprocal.hpp> need to be included to use these functionalities.
  255. **/
  256. /*!
  257. \defgroup gtx_rotate_vector GLM_GTX_rotate_vector: Rotate vector
  258. \ingroup gtx
  259. \brief Function to directly rotate a vector
  260. <glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.
  261. **/
  262. /*!
  263. \defgroup gtx_simd_mat4 GLM_GTX_simd_mat4: SIMD mat4 type and functions
  264. \ingroup gtx
  265. \brief SIMD implementation of mat4 type.
  266. <glm/gtx/simd_mat4.hpp> need to be included to use these functionalities.
  267. **/
  268. /*!
  269. \defgroup gtx_simd_vec4 GLM_GTX_simd_vec4: SIMD vec4 type and functions
  270. \ingroup gtx
  271. \brief SIMD implementation of vec4 type.
  272. <glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.
  273. **/
  274. /*!
  275. \defgroup gtx_spline GLM_GTX_spline: Spline
  276. \ingroup gtx
  277. \brief Spline functions
  278. <glm/gtx/spline.hpp> need to be included to use these functionalities.
  279. **/
  280. /*!
  281. \defgroup gtx_string_cast GLM_GTX_string_cast: String cast
  282. \ingroup gtx
  283. \brief Setup strings for GLM type values
  284. <glm/gtx/string_cast.hpp> need to be included to use these functionalities.
  285. **/
  286. /*!
  287. \defgroup gtx_transform GLM_GTX_transform: Extented transformation matrices
  288. \ingroup gtx
  289. \brief Add transformation matrices
  290. <glm/gtx/transform.hpp> need to be included to use these functionalities.
  291. **/
  292. /*!
  293. \defgroup gtx_transform2 GLM_GTX_transform2: Extra transformation matrices
  294. \ingroup gtx
  295. \brief Add extra transformation matrices
  296. <glm/gtx/transform2.hpp> need to be included to use these functionalities.
  297. **/
  298. /*!
  299. \defgroup gtx_unsigned_int GLM_GTX_unsigned_int: Unsigned int
  300. \ingroup gtx
  301. \brief Add support for unsigned integer for core functions
  302. <glm/gtx/unsigned_int.hpp> need to be included to use these functionalities.
  303. **/
  304. /*!
  305. \defgroup gtx_vector_access GLM_GTX_vector_angle: Vector access
  306. \ingroup gtx
  307. \brief Function to set values to vectors
  308. <glm/gtx/vector_access.hpp> need to be included to use these functionalities.
  309. **/
  310. /*!
  311. \defgroup gtx_vector_angle GLM_GTX_vector_angle: Vector angle
  312. \ingroup gtx
  313. \brief Compute angle between vectors
  314. <glm/gtx/vector_angle.hpp> need to be included to use these functionalities.
  315. **/
  316. /*!
  317. \defgroup gtx_vector_query GLM_GTX_vector_query: Vector query
  318. \ingroup gtx
  319. \brief Query informations of vector types
  320. <glm/gtx/vector_query.hpp> need to be included to use these functionalities.
  321. **/
  322. /*!
  323. \defgroup gtx_verbose_operator GLM_GTX_verbose_operator: Verbose operator
  324. \ingroup gtx
  325. \brief Use words to replace operators
  326. <glm/gtx/verbose_operator.hpp> need to be included to use these functionalities.
  327. **/
  328. /*!
  329. \defgroup gtx_wrap GLM_GTX_wrap: Texture coordinate wrap modes
  330. \ingroup gtx
  331. \brief Wrapping mode of texture coordinates.
  332. <glm/gtx/wrap.hpp> need to be included to use these functionalities.
  333. **/