You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
498 lines
12 KiB
498 lines
12 KiB
/*! |
|
\defgroup gtx GTX Extensions (Experimental) |
|
|
|
\brief Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program. |
|
|
|
Experimental extensions are useful functions and types, but the development of |
|
their API and functionality is not necessarily stable. They can change substantially |
|
between versions. Backwards compatibility is not much of an issue for them. |
|
|
|
Even if it's highly unrecommended, it's possible to include all the extensions at once by |
|
including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_associated_min_max GLM_GTX_associated_min_max: Associated Min/Max |
|
\ingroup gtx |
|
|
|
\brief Min and max functions that return associated values not the compared onces. |
|
<glm/gtx/associated_min_max.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_bit GLM_GTX_bit: Extended bitwise operations |
|
\ingroup gtx |
|
|
|
\brief Allow to perform bit operations on integer values |
|
|
|
<glm/gtx/bit.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_closest_point GLM_GTX_closest_point: Find closest point |
|
\ingroup gtx |
|
|
|
\brief Find the point on a straight line which is the closet of a point. |
|
|
|
<glm/gtx/closest_point.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_color_cast GLM_GTX_color_cast: Color conversion |
|
\ingroup gtx |
|
|
|
\brief Conversion between two color types. |
|
|
|
<glm/gtx/color_cast.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_color_space GLM_GTX_color_space: RGB to HSV conversion |
|
\ingroup gtx |
|
|
|
\brief Related to RGB to HSV conversions and operations. |
|
|
|
<glm/gtx/color_space.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_color_space_YCoCg GLM_GTX_color_space_YCoCg: RGB to YCoCg conversion |
|
\ingroup gtx |
|
|
|
\brief RGB to YCoCg conversions and operations |
|
|
|
<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_compatibility GLM_GTX_compatibility: Cg and HLSL compatibility |
|
\ingroup gtx |
|
|
|
\brief Provide functions to increase the compatibility with Cg and HLSL languages |
|
|
|
<glm/gtx/compatibility.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_component_wise GLM_GTX_component_wise: Component wise |
|
\ingroup gtx |
|
|
|
\brief Operations between components of a type |
|
|
|
<glm/gtx/component_wise.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_epsilon GLM_GTX_epsilon: Epsilon comparison |
|
\ingroup gtx |
|
|
|
\brief Comparison functions for a user defined epsilon values. |
|
|
|
<glm/gtx/epsilon.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_euler_angles GLM_GTX_euler_angles: Matrix from euler angles |
|
\ingroup gtx |
|
|
|
\brief Build matrices from Euler angles. |
|
|
|
<glm/gtx/euler_angles.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_extend GLM_GTX_extend: Position extending |
|
\ingroup gtx |
|
|
|
\brief Extend a position from a source to a position at a defined length. |
|
|
|
<glm/gtx/extend.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_extented_min_max GLM_GTX_extented_min_max: Extended min max |
|
\ingroup gtx |
|
|
|
\brief Min and max functions for 3 to 4 parameters. |
|
|
|
<glm/gtx/extented_min_max.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_fast_exponential GLM_GTX_fast_exponential: Fast exponentiation functions |
|
\ingroup gtx |
|
|
|
\brief Fast but less accurate implementations of exponential based functions. |
|
|
|
<glm/gtx/fast_exponential.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_fast_square_root GLM_GTX_fast_square_root: Fast square root functions |
|
\ingroup gtx |
|
|
|
\brief Fast but less accurate implementations of square root based functions. |
|
|
|
<glm/gtx/fast_square_root.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_fast_trigonometry GLM_GTX_fast_trigonometry: Fast trigonometric functions |
|
\ingroup gtx |
|
|
|
\brief Fast but less accurate implementations of trigonometric functions. |
|
|
|
<glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_handed_coordinate_space GLM_GTX_handed_coordinate_space: Space Handedness |
|
\ingroup gtx |
|
|
|
\brief To know if a set of three basis vectors defines a right or left-handed coordinate system. |
|
|
|
<glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_inertia GLM_GTX_inertia: Intertial matrix |
|
\ingroup gtx |
|
|
|
\brief Create inertia matrices |
|
|
|
<glm/gtx/inertia.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_int_10_10_10_2 GLM_GTX_int_10_10_10_2: Packed integer |
|
\ingroup gtx |
|
|
|
\brief Pack vector to 1010102 integers. Storage only. |
|
|
|
<glm/gtx/int_10_10_10_2.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_integer GLM_GTX_integer: Extended integer functions |
|
\ingroup gtx |
|
|
|
\brief Add support for integer for core functions |
|
|
|
<glm/gtx/integer.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_intersect GLM_GTX_intersect: Intersection tests |
|
\ingroup gtx |
|
|
|
\brief Add intersection functions |
|
|
|
<glm/gtx/intersect.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_log_base GLM_GTX_log_base: Log with base |
|
\ingroup gtx |
|
|
|
\brief Logarithm for any base. base can be a vector or a scalar. |
|
|
|
<glm/gtx/log_base.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_matrix_cross_product GLM_GTX_matrix_cross_product: Cross product matrix form |
|
\ingroup gtx |
|
|
|
\brief Build cross product matrices |
|
|
|
<glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_matrix_major_storage GLM_GTX_matrix_major_storage: Build matrix |
|
\ingroup gtx |
|
|
|
\brief Build matrices with specific matrix order, row or column |
|
|
|
<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_matrix_operation GLM_GTX_matrix_operation: Extended matrix operations |
|
\ingroup gtx |
|
|
|
\brief Build diagonal matrices from vectors. |
|
|
|
<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_matrix_query GLM_GTX_matrix_query: Query matrix properties |
|
\ingroup gtx |
|
|
|
\brief Query to evaluate matrix properties |
|
|
|
<glm/gtx/matrix_query.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_mixed_product GLM_GTX_mixed_producte: Mixed product |
|
\ingroup gtx |
|
|
|
\brief Mixed product of 3 vectors. |
|
|
|
<glm/gtx/mixed_product.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_multiple GLM_GTX_multiple: Multiples |
|
\ingroup gtx |
|
|
|
\brief Find the closest number of a number multiple of other number. |
|
|
|
<glm/gtx/multiple.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_norm GLM_GTX_norm: Vector norm calculations |
|
\ingroup gtx |
|
|
|
\brief Various way to compute vector norms. |
|
|
|
<glm/gtx/norm.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_normal GLM_GTX_normal: Compute normals |
|
\ingroup gtx |
|
|
|
\brief Compute the normal of a triangle. |
|
|
|
<glm/gtx/normal.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_normalize_dot GLM_GTX_normalize_dot: Normalize dot product |
|
\ingroup gtx |
|
|
|
\brief Dot product of vectors that need to be normalize with a single square root. |
|
|
|
<glm/gtx/normalized_dot.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_number_precision GLM_GTX_number_precision: Number precision |
|
\ingroup gtx |
|
|
|
\brief Defined size types. |
|
|
|
<glm/gtx/number_precision.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_ocl_type GLM_GTX_ocl_type: OpenCL types |
|
\ingroup gtx |
|
|
|
\brief OpenCL types. |
|
|
|
<glm/gtx/ocl_type.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_optimum_pow GLM_GTX_optimum_pow: Optimum pow |
|
\ingroup gtx |
|
|
|
\brief Integer exponentiation of power functions. |
|
|
|
<glm/gtx/optimum_pow.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_orthonormalize GLM_GTX_orthonormalize: Orthonormalize |
|
\ingroup gtx |
|
|
|
\brief Orthonormalize matrices. |
|
|
|
<glm/gtx/orthonormalize.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_perpendicular GLM_GTX_perpendicular: Perpendicular |
|
\ingroup gtx |
|
|
|
\brief Perpendicular of a vector from other one |
|
|
|
<glm/gtx/perpendicular.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_polar_coordinates GLM_GTX_polar_coordinates: Polar coordinates |
|
\ingroup gtx |
|
|
|
\brief Conversion from Euclidean space to polar space and revert. |
|
|
|
<glm/gtx/polar_coordinates.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_projection GLM_GTX_projection: Projection |
|
\ingroup gtx |
|
|
|
\brief Projection of a vector to other one |
|
|
|
<glm/gtx/projection.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_quaternion GLM_GTX_quaternion: Extented quaternion types and functions |
|
\ingroup gtx |
|
|
|
\brief Extented quaternion types and functions |
|
|
|
<glm/gtx/quaternion.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_random GLM_GTX_random: Random |
|
\ingroup gtx |
|
|
|
\brief Generate random number from various distribution methods |
|
|
|
<glm/gtx/random.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_raw_data GLM_GTX_raw_data: Raw data |
|
\ingroup gtx |
|
|
|
\brief Projection of a vector to other one |
|
|
|
<glm/gtx/raw_data.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_reciprocal GLM_GTX_reciprocal: Reciprocal |
|
\ingroup gtx |
|
|
|
\brief Define secant, cosecant and cotangent functions. |
|
|
|
<glm/gtx/reciprocal.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_rotate_vector GLM_GTX_rotate_vector: Rotate vector |
|
\ingroup gtx |
|
|
|
\brief Function to directly rotate a vector |
|
|
|
<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_simd_mat4 GLM_GTX_simd_mat4: SIMD mat4 type and functions |
|
\ingroup gtx |
|
|
|
\brief SIMD implementation of mat4 type. |
|
|
|
<glm/gtx/simd_mat4.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_simd_vec4 GLM_GTX_simd_vec4: SIMD vec4 type and functions |
|
\ingroup gtx |
|
|
|
\brief SIMD implementation of vec4 type. |
|
|
|
<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_spline GLM_GTX_spline: Spline |
|
\ingroup gtx |
|
|
|
\brief Spline functions |
|
|
|
<glm/gtx/spline.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_string_cast GLM_GTX_string_cast: String cast |
|
\ingroup gtx |
|
|
|
\brief Setup strings for GLM type values |
|
|
|
<glm/gtx/string_cast.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_transform GLM_GTX_transform: Extented transformation matrices |
|
\ingroup gtx |
|
|
|
\brief Add transformation matrices |
|
|
|
<glm/gtx/transform.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_transform2 GLM_GTX_transform2: Extra transformation matrices |
|
\ingroup gtx |
|
|
|
\brief Add extra transformation matrices |
|
|
|
<glm/gtx/transform2.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_unsigned_int GLM_GTX_unsigned_int: Unsigned int |
|
\ingroup gtx |
|
|
|
\brief Add support for unsigned integer for core functions |
|
|
|
<glm/gtx/unsigned_int.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_vector_access GLM_GTX_vector_angle: Vector access |
|
\ingroup gtx |
|
|
|
\brief Function to set values to vectors |
|
|
|
<glm/gtx/vector_access.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_vector_angle GLM_GTX_vector_angle: Vector angle |
|
\ingroup gtx |
|
|
|
\brief Compute angle between vectors |
|
|
|
<glm/gtx/vector_angle.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_vector_query GLM_GTX_vector_query: Vector query |
|
\ingroup gtx |
|
|
|
\brief Query informations of vector types |
|
|
|
<glm/gtx/vector_query.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_verbose_operator GLM_GTX_verbose_operator: Verbose operator |
|
\ingroup gtx |
|
|
|
\brief Use words to replace operators |
|
|
|
<glm/gtx/verbose_operator.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
/*! |
|
\defgroup gtx_wrap GLM_GTX_wrap: Texture coordinate wrap modes |
|
\ingroup gtx |
|
|
|
\brief Wrapping mode of texture coordinates. |
|
|
|
<glm/gtx/wrap.hpp> need to be included to use these functionalities. |
|
**/ |
|
|
|
|