<trid="row_0_"class="even"><tdclass="entry"><spanstyle="width:0px;display:inline-block;"> </span><spanid="arr_0_"class="arrow"onclick="toggleFolder('0_')">▼</span><aclass="el"href="a00154.html"target="_self">GTC Extensions (Stable)</a></td><tdclass="desc">Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program </td></tr>
<trid="row_0_0_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00160.html"target="_self">GLM_GTC_bitfield</a></td><tdclass="desc">Allow to perform bit operations on integer values </td></tr>
<trid="row_0_1_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00161.html"target="_self">GLM_GTC_color_space</a></td><tdclass="desc">Allow to perform bit operations on integer values </td></tr>
<trid="row_0_2_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00162.html"target="_self">GLM_GTC_constants</a></td><tdclass="desc">Provide a list of constants and precomputed useful values </td></tr>
<trid="row_0_3_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00163.html"target="_self">GLM_GTC_epsilon</a></td><tdclass="desc">Comparison functions for a user defined epsilon values </td></tr>
<trid="row_0_4_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00164.html"target="_self">GLM_GTC_functions</a></td><tdclass="desc">List of useful common functions </td></tr>
<trid="row_0_5_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00165.html"target="_self">GLM_GTC_integer</a></td><tdclass="desc">Allow to perform bit operations on integer values </td></tr>
<trid="row_0_6_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00166.html"target="_self">GLM_GTC_matrix_access</a></td><tdclass="desc">Defines functions to access rows or columns of a matrix easily </td></tr>
<trid="row_0_7_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00167.html"target="_self">GLM_GTC_matrix_integer</a></td><tdclass="desc">Defines a number of matrices with integer types </td></tr>
<trid="row_0_9_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00169.html"target="_self">GLM_GTC_matrix_transform</a></td><tdclass="desc">Defines functions that generate common transformation matrices </td></tr>
<trid="row_0_10_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00170.html"target="_self">GLM_GTC_noise</a></td><tdclass="desc">Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": <ahref="https://github.com/ashima/webgl-noise">https://github.com/ashima/webgl-noise</a> Following Stefan Gustavson's paper "Simplex noise demystified": <ahref="http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf">http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf</a><<aclass="el"href="a00073.html"title="GLM_GTC_noise ">glm/gtc/noise.hpp</a>> need to be included to use these functionalities </td></tr>
<trid="row_0_11_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00171.html"target="_self">GLM_GTC_packing</a></td><tdclass="desc">This extension provides a set of function to convert vertors to packed formats </td></tr>
<trid="row_0_12_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00172.html"target="_self">GLM_GTC_quaternion</a></td><tdclass="desc">Defines a templated quaternion type and several quaternion operations </td></tr>
<trid="row_0_13_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00173.html"target="_self">GLM_GTC_random</a></td><tdclass="desc">Generate random number from various distribution methods </td></tr>
<trid="row_0_14_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00174.html"target="_self">GLM_GTC_reciprocal</a></td><tdclass="desc">Define secant, cosecant and cotangent functions </td></tr>
<trid="row_0_15_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00175.html"target="_self">GLM_GTC_round</a></td><tdclass="desc">Rounding value to specific boundings </td></tr>
<trid="row_0_17_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00177.html"target="_self">GLM_GTC_type_precision</a></td><tdclass="desc">Defines specific C++-based precision types </td></tr>
<trid="row_0_18_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00178.html"target="_self">GLM_GTC_type_ptr</a></td><tdclass="desc">Handles the interaction between pointers and vector, matrix types </td></tr>
<trid="row_0_19_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00179.html"target="_self">GLM_GTC_ulp</a></td><tdclass="desc">Allow the measurement of the accuracy of a function against a reference implementation </td></tr>
<trid="row_0_20_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00180.html"target="_self">GLM_GTC_vec1</a></td><tdclass="desc">Add vec1, ivec1, uvec1 and bvec1 types </td></tr>
<trid="row_1_"class="even"><tdclass="entry"><spanstyle="width:0px;display:inline-block;"> </span><spanid="arr_1_"class="arrow"onclick="toggleFolder('1_')">▼</span><aclass="el"href="a00155.html"target="_self">GTX Extensions (Experimental)</a></td><tdclass="desc">Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program </td></tr>
<trid="row_1_0_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00181.html"target="_self">GLM_GTX_associated_min_max</a></td><tdclass="desc">Min and max functions that return associated values not the compared onces </td></tr>
<trid="row_1_1_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00182.html"target="_self">GLM_GTX_bit</a></td><tdclass="desc">Allow to perform bit operations on integer values </td></tr>
<trid="row_1_2_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00183.html"target="_self">GLM_GTX_closest_point</a></td><tdclass="desc">Find the point on a straight line which is the closet of a point </td></tr>
<trid="row_1_3_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00184.html"target="_self">GLM_GTX_color_space</a></td><tdclass="desc">Related to RGB to HSV conversions and operations </td></tr>
<trid="row_1_4_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00185.html"target="_self">GLM_GTX_color_space_YCoCg</a></td><tdclass="desc">RGB to YCoCg conversions and operations </td></tr>
<trid="row_1_5_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00186.html"target="_self">GLM_GTX_common</a></td><tdclass="desc">Provide functions to increase the compatibility with Cg and HLSL languages </td></tr>
<trid="row_1_6_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00187.html"target="_self">GLM_GTX_compatibility</a></td><tdclass="desc">Provide functions to increase the compatibility with Cg and HLSL languages </td></tr>
<trid="row_1_7_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00188.html"target="_self">GLM_GTX_component_wise</a></td><tdclass="desc">Operations between components of a type </td></tr>
<trid="row_1_8_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00189.html"target="_self">GLM_GTX_dual_quaternion</a></td><tdclass="desc">Defines a templated dual-quaternion type and several dual-quaternion operations </td></tr>
<trid="row_1_9_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00190.html"target="_self">GLM_GTX_euler_angles</a></td><tdclass="desc">Build matrices from Euler angles </td></tr>
<trid="row_1_10_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00191.html"target="_self">GLM_GTX_extend</a></td><tdclass="desc">Extend a position from a source to a position at a defined length </td></tr>
<trid="row_1_11_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00192.html"target="_self">GLM_GTX_extented_min_max</a></td><tdclass="desc">Min and max functions for 3 to 4 parameters </td></tr>
<trid="row_1_12_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00193.html"target="_self">GLM_GTX_fast_exponential</a></td><tdclass="desc">Fast but less accurate implementations of exponential based functions </td></tr>
<trid="row_1_13_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00194.html"target="_self">GLM_GTX_fast_square_root</a></td><tdclass="desc">Fast but less accurate implementations of square root based functions </td></tr>
<trid="row_1_14_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00195.html"target="_self">GLM_GTX_fast_trigonometry</a></td><tdclass="desc">Fast but less accurate implementations of trigonometric functions </td></tr>
<trid="row_1_15_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00196.html"target="_self">GLM_GTX_gradient_paint</a></td><tdclass="desc">Functions that return the color of procedural gradient for specific coordinates </td></tr>
<trid="row_1_16_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00197.html"target="_self">GLM_GTX_handed_coordinate_space</a></td><tdclass="desc">To know if a set of three basis vectors defines a right or left-handed coordinate system </td></tr>
<trid="row_1_17_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00198.html"target="_self">GLM_GTX_hash</a></td><tdclass="desc">Add std::hash support for glm types </td></tr>
<trid="row_1_18_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00199.html"target="_self">GLM_GTX_integer</a></td><tdclass="desc">Add support for integer for core functions </td></tr>
<trid="row_1_20_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00201.html"target="_self">GLM_GTX_io</a></td><tdclass="desc">Std::[w]ostream support for glm types </td></tr>
<trid="row_1_21_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00202.html"target="_self">GLM_GTX_log_base</a></td><tdclass="desc">Logarithm for any base </td></tr>
<trid="row_1_23_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00204.html"target="_self">GLM_GTX_matrix_decompose</a></td><tdclass="desc">Decomposes a model matrix to translations, rotation and scale components </td></tr>
<trid="row_1_24_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00205.html"target="_self">GLM_GTX_matrix_interpolation</a></td><tdclass="desc">Allows to directly interpolate two exiciting matrices </td></tr>
<trid="row_1_25_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00206.html"target="_self">GLM_GTX_matrix_major_storage</a></td><tdclass="desc">Build matrices with specific matrix order, row or column </td></tr>
<trid="row_1_26_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00207.html"target="_self">GLM_GTX_matrix_operation</a></td><tdclass="desc">Build diagonal matrices from vectors </td></tr>
<trid="row_1_27_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00208.html"target="_self">GLM_GTX_matrix_query</a></td><tdclass="desc">Query to evaluate matrix properties </td></tr>
<trid="row_1_28_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00209.html"target="_self">GLM_GTX_matrix_transform_2d</a></td><tdclass="desc">Defines functions that generate common 2d transformation matrices </td></tr>
<trid="row_1_29_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00210.html"target="_self">GLM_GTX_mixed_producte</a></td><tdclass="desc">Mixed product of 3 vectors </td></tr>
<trid="row_1_30_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00211.html"target="_self">GLM_GTX_norm</a></td><tdclass="desc">Various ways to compute vector norms </td></tr>
<trid="row_1_31_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00212.html"target="_self">GLM_GTX_normal</a></td><tdclass="desc">Compute the normal of a triangle </td></tr>
<trid="row_1_32_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00213.html"target="_self">GLM_GTX_normalize_dot</a></td><tdclass="desc">Dot product of vectors that need to be normalize with a single square root </td></tr>
<trid="row_1_34_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00215.html"target="_self">GLM_GTX_optimum_pow</a></td><tdclass="desc">Integer exponentiation of power functions </td></tr>
<trid="row_1_36_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00217.html"target="_self">GLM_GTX_perpendicular</a></td><tdclass="desc">Perpendicular of a vector from other one </td></tr>
<trid="row_1_37_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00218.html"target="_self">GLM_GTX_polar_coordinates</a></td><tdclass="desc">Conversion from Euclidean space to polar space and revert </td></tr>
<trid="row_1_38_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00219.html"target="_self">GLM_GTX_projection</a></td><tdclass="desc">Projection of a vector to other one </td></tr>
<trid="row_1_39_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00220.html"target="_self">GLM_GTX_quaternion</a></td><tdclass="desc">Extented quaternion types and functions </td></tr>
<trid="row_1_40_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00221.html"target="_self">GLM_GTX_range</a></td><tdclass="desc">Defines begin and end for vectors and matrices </td></tr>
<trid="row_1_41_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00222.html"target="_self">GLM_GTX_raw_data</a></td><tdclass="desc">Projection of a vector to other one </td></tr>
<trid="row_1_42_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00223.html"target="_self">GLM_GTX_rotate_normalized_axis</a></td><tdclass="desc">Quaternions and matrices rotations around normalized axis </td></tr>
<trid="row_1_43_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00224.html"target="_self">GLM_GTX_rotate_vector</a></td><tdclass="desc">Function to directly rotate a vector </td></tr>
<trid="row_1_44_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00225.html"target="_self">GLM_GTX_scalar_relational</a></td><tdclass="desc">Extend a position from a source to a position at a defined length </td></tr>
<trid="row_1_45_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00226.html"target="_self">GLM_GTX_simd_mat4</a></td><tdclass="desc">SIMD implementation of mat4 type </td></tr>
<trid="row_1_46_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00227.html"target="_self">GLM_GTX_simd_quat</a></td><tdclass="desc">SIMD implementation of quat type </td></tr>
<trid="row_1_47_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00228.html"target="_self">GLM_GTX_simd_vec4</a></td><tdclass="desc">SIMD implementation of vec4 type </td></tr>
<trid="row_1_49_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00230.html"target="_self">GLM_GTX_std_based_type</a></td><tdclass="desc">Adds vector types based on STL value types </td></tr>
<trid="row_1_50_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00231.html"target="_self">GLM_GTX_string_cast</a></td><tdclass="desc">Setup strings for GLM type values </td></tr>
<trid="row_1_52_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00233.html"target="_self">GLM_GTX_transform2</a></td><tdclass="desc">Add extra transformation matrices </td></tr>
<trid="row_1_54_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00235.html"target="_self">GLM_GTX_type_trait</a></td><tdclass="desc">Defines traits for each type </td></tr>
<trid="row_1_55_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00236.html"target="_self">GLM_GTX_vector_angle</a></td><tdclass="desc">Compute angle between vectors </td></tr>
<trid="row_1_56_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00237.html"target="_self">GLM_GTX_vector_query</a></td><tdclass="desc">Query informations of vector types </td></tr>
<trid="row_1_57_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00238.html"target="_self">GLM_GTX_wrap</a></td><tdclass="desc">Wrapping mode of texture coordinates </td></tr>
<trid="row_2_"><tdclass="entry"><spanstyle="width:0px;display:inline-block;"> </span><spanid="arr_2_"class="arrow"onclick="toggleFolder('2_')">▼</span><aclass="el"href="a00156.html"target="_self">GLM Core</a></td><tdclass="desc">The core of GLM, which implements exactly and only the GLSL specification to the degree possible </td></tr>
<trid="row_2_0_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00146.html"target="_self">Common functions</a></td><tdclass="desc">These all operate component-wise </td></tr>
<trid="row_2_1_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00147.html"target="_self">Exponential functions</a></td><tdclass="desc">These all operate component-wise </td></tr>
<trid="row_2_2_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00148.html"target="_self">Geometric functions</a></td><tdclass="desc">These operate on vectors as vectors, not component-wise </td></tr>
<trid="row_2_3_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00149.html"target="_self">Integer functions</a></td><tdclass="desc">These all operate component-wise </td></tr>
<trid="row_2_4_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00150.html"target="_self">Matrix functions</a></td><tdclass="desc">For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision </td></tr>
<trid="row_2_5_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00151.html"target="_self">Floating-Point Pack and Unpack Functions</a></td><tdclass="desc">These functions do not operate component-wise, rather as described in each case </td></tr>
<trid="row_2_6_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00152.html"target="_self">Angle and Trigonometry Functions</a></td><tdclass="desc">Function parameters specified as angle are assumed to be in units of radians </td></tr>
<trid="row_2_7_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00153.html"target="_self">Vector Relational Functions</a></td><tdclass="desc">Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results </td></tr>
<trid="row_2_8_"class="even"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanid="arr_2_8_"class="arrow"onclick="toggleFolder('2_8_')">▼</span><aclass="el"href="a00157.html"target="_self">Types</a></td><tdclass="desc">The standard types defined by the specification </td></tr>
<trid="row_2_8_0_"><tdclass="entry"><spanstyle="width:48px;display:inline-block;"> </span><aclass="el"href="a00158.html"target="_self">Precision types</a></td><tdclass="desc">Non-GLSL types that are used to define precision-based types </td></tr>
<trid="row_2_9_"class="even"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00158.html"target="_self">Precision types</a></td><tdclass="desc">Non-GLSL types that are used to define precision-based types </td></tr>
<trid="row_2_10_"><tdclass="entry"><spanstyle="width:32px;display:inline-block;"> </span><aclass="el"href="a00159.html"target="_self">Template types</a></td><tdclass="desc">The generic template types used as the basis for the core types </td></tr>