Compare commits

..

3574 Commits

Author SHA1 Message Date
Ian Cavén
dca38025fb Merge remote-tracking branch 'origin/master'
# Conflicts:
#	readme.md
2024-02-09 13:48:51 -08:00
Ian Cavén
894e39f69d Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	.github/workflows/ci.yml
#	CMakeLists.txt
#	doc/api/a00002_source.html
#	doc/api/a00005_source.html
#	doc/api/a00008_source.html
#	doc/api/a00011_source.html
#	doc/api/a00014_source.html
#	doc/api/a00017_source.html
#	doc/api/a00020_source.html
#	doc/api/a00023_source.html
#	doc/api/a00026_source.html
#	doc/api/a00029_source.html
#	doc/api/a00032_source.html
#	doc/api/a00035_source.html
#	doc/api/a00038_source.html
#	doc/api/a00041.html
#	doc/api/a00041_source.html
#	doc/api/a00044.html
#	doc/api/a00044_source.html
#	doc/api/a00047_source.html
#	doc/api/a00050.html
#	doc/api/a00050_source.html
#	doc/api/a00053.html
#	doc/api/a00053_source.html
#	doc/api/a00056.html
#	doc/api/a00056_source.html
#	doc/api/a00059.html
#	doc/api/a00059_source.html
#	doc/api/a00062.html
#	doc/api/a00062_source.html
#	doc/api/a00065.html
#	doc/api/a00065_source.html
#	doc/api/a00068.html
#	doc/api/a00068_source.html
#	doc/api/a00071.html
#	doc/api/a00071_source.html
#	doc/api/a00074.html
#	doc/api/a00074_source.html
#	doc/api/a00077.html
#	doc/api/a00077_source.html
#	doc/api/a00080.html
#	doc/api/a00080_source.html
#	doc/api/a00083.html
#	doc/api/a00083_source.html
#	doc/api/a00086_source.html
#	doc/api/a00089.html
#	doc/api/a00089_source.html
#	doc/api/a00092.html
#	doc/api/a00092_source.html
#	doc/api/a00095_source.html
#	doc/api/a00098.html
#	doc/api/a00098_source.html
#	doc/api/a00101.html
#	doc/api/a00101_source.html
#	doc/api/a00104.html
#	doc/api/a00104_source.html
#	doc/api/a00107.html
#	doc/api/a00107_source.html
#	doc/api/a00110.html
#	doc/api/a00110_source.html
#	doc/api/a00113.html
#	doc/api/a00113_source.html
#	doc/api/a00116.html
#	doc/api/a00116_source.html
#	doc/api/a00119.html
#	doc/api/a00119_source.html
#	doc/api/a00122.html
#	doc/api/a00122_source.html
#	doc/api/a00125.html
#	doc/api/a00125_source.html
#	doc/api/a00128.html
#	doc/api/a00128_source.html
#	doc/api/a00131.html
#	doc/api/a00131_source.html
#	doc/api/a00134.html
#	doc/api/a00134_source.html
#	doc/api/a00137.html
#	doc/api/a00137_source.html
#	doc/api/a00140.html
#	doc/api/a00140_source.html
#	doc/api/a00143.html
#	doc/api/a00143_source.html
#	doc/api/a00146.html
#	doc/api/a00146_source.html
#	doc/api/a00149.html
#	doc/api/a00149_source.html
#	doc/api/a00152.html
#	doc/api/a00152_source.html
#	doc/api/a00155.html
#	doc/api/a00155_source.html
#	doc/api/a00158.html
#	doc/api/a00158_source.html
#	doc/api/a00161.html
#	doc/api/a00161_source.html
#	doc/api/a00164_source.html
#	doc/api/a00167.html
#	doc/api/a00167_source.html
#	doc/api/a00170.html
#	doc/api/a00170_source.html
#	doc/api/a00173.html
#	doc/api/a00173_source.html
#	doc/api/a00176.html
#	doc/api/a00176_source.html
#	doc/api/a00179.html
#	doc/api/a00179_source.html
#	doc/api/a00182.html
#	doc/api/a00182_source.html
#	doc/api/a00185.html
#	doc/api/a00185_source.html
#	doc/api/a00188_source.html
#	doc/api/a00191.html
#	doc/api/a00191_source.html
#	doc/api/a00194.html
#	doc/api/a00194_source.html
#	doc/api/a00197.html
#	doc/api/a00197_source.html
#	doc/api/a00200.html
#	doc/api/a00200_source.html
#	doc/api/a00203.html
#	doc/api/a00203_source.html
#	doc/api/a00206.html
#	doc/api/a00206_source.html
#	doc/api/a00209.html
#	doc/api/a00209_source.html
#	doc/api/a00212.html
#	doc/api/a00212_source.html
#	doc/api/a00215.html
#	doc/api/a00215_source.html
#	doc/api/a00218.html
#	doc/api/a00218_source.html
#	doc/api/a00221.html
#	doc/api/a00221_source.html
#	doc/api/a00224.html
#	doc/api/a00224_source.html
#	doc/api/a00227.html
#	doc/api/a00227_source.html
#	doc/api/a00230.html
#	doc/api/a00230_source.html
#	doc/api/a00233.html
#	doc/api/a00233_source.html
#	doc/api/a00242.html
#	doc/api/a00245.html
#	doc/api/a00248.html
#	doc/api/a00251.html
#	doc/api/a00254.html
#	doc/api/a00260.html
#	doc/api/a00263.html
#	doc/api/a00269.html
#	doc/api/a00272.html
#	doc/api/a00275.html
#	doc/api/a00278.html
#	doc/api/a00281.html
#	doc/api/a00284.html
#	doc/api/a00287.html
#	doc/api/a00290.html
#	doc/api/a00293.html
#	doc/api/a00296.html
#	doc/api/a00299.html
#	doc/api/a00305.html
#	doc/api/a00308.html
#	doc/api/a00311.html
#	doc/api/a00314.html
#	doc/api/a00317.html
#	doc/api/a00320.html
#	doc/api/a00323.html
#	doc/api/a00326.html
#	doc/api/a00329.html
#	doc/api/a00332.html
#	doc/api/a00335.html
#	doc/api/a00338.html
#	doc/api/a00341.html
#	doc/api/a00344.html
#	doc/api/a00347.html
#	doc/api/a00350.html
#	doc/api/a00353.html
#	doc/api/a00356.html
#	doc/api/a00359.html
#	doc/api/a00362.html
#	doc/api/a00365.html
#	doc/api/a00368.html
#	doc/api/a00374.html
#	doc/api/bc_s.png
#	doc/api/bdwn.png
#	doc/api/closed.png
#	doc/api/doc.png
#	doc/api/doxygen.css
#	doc/api/doxygen.png
#	doc/api/dynsections.js
#	doc/api/files.html
#	doc/api/folderclosed.png
#	doc/api/folderopen.png
#	doc/api/index.html
#	doc/api/jquery.js
#	doc/api/modules.html
#	doc/api/nav_f.png
#	doc/api/nav_h.png
#	doc/api/open.png
#	doc/api/search/all_0.html
#	doc/api/search/all_0.js
#	doc/api/search/all_1.html
#	doc/api/search/all_1.js
#	doc/api/search/all_10.html
#	doc/api/search/all_10.js
#	doc/api/search/all_11.html
#	doc/api/search/all_11.js
#	doc/api/search/all_12.html
#	doc/api/search/all_12.js
#	doc/api/search/all_13.html
#	doc/api/search/all_13.js
#	doc/api/search/all_14.html
#	doc/api/search/all_14.js
#	doc/api/search/all_15.html
#	doc/api/search/all_15.js
#	doc/api/search/all_16.html
#	doc/api/search/all_16.js
#	doc/api/search/all_2.html
#	doc/api/search/all_2.js
#	doc/api/search/all_3.html
#	doc/api/search/all_3.js
#	doc/api/search/all_4.html
#	doc/api/search/all_4.js
#	doc/api/search/all_5.html
#	doc/api/search/all_5.js
#	doc/api/search/all_6.html
#	doc/api/search/all_6.js
#	doc/api/search/all_7.html
#	doc/api/search/all_7.js
#	doc/api/search/all_8.html
#	doc/api/search/all_8.js
#	doc/api/search/all_9.html
#	doc/api/search/all_9.js
#	doc/api/search/all_a.html
#	doc/api/search/all_a.js
#	doc/api/search/all_b.html
#	doc/api/search/all_b.js
#	doc/api/search/all_c.html
#	doc/api/search/all_c.js
#	doc/api/search/all_d.html
#	doc/api/search/all_d.js
#	doc/api/search/all_e.html
#	doc/api/search/all_e.js
#	doc/api/search/all_f.html
#	doc/api/search/all_f.js
#	doc/api/search/files_0.html
#	doc/api/search/files_0.js
#	doc/api/search/files_1.html
#	doc/api/search/files_1.js
#	doc/api/search/files_10.html
#	doc/api/search/files_10.js
#	doc/api/search/files_11.html
#	doc/api/search/files_11.js
#	doc/api/search/files_12.html
#	doc/api/search/files_12.js
#	doc/api/search/files_13.html
#	doc/api/search/files_13.js
#	doc/api/search/files_14.html
#	doc/api/search/files_14.js
#	doc/api/search/files_2.html
#	doc/api/search/files_2.js
#	doc/api/search/files_3.html
#	doc/api/search/files_3.js
#	doc/api/search/files_4.html
#	doc/api/search/files_4.js
#	doc/api/search/files_5.html
#	doc/api/search/files_5.js
#	doc/api/search/files_6.html
#	doc/api/search/files_6.js
#	doc/api/search/files_7.html
#	doc/api/search/files_7.js
#	doc/api/search/files_8.html
#	doc/api/search/files_8.js
#	doc/api/search/files_9.html
#	doc/api/search/files_9.js
#	doc/api/search/files_a.html
#	doc/api/search/files_a.js
#	doc/api/search/files_b.html
#	doc/api/search/files_b.js
#	doc/api/search/files_c.html
#	doc/api/search/files_c.js
#	doc/api/search/files_d.html
#	doc/api/search/files_d.js
#	doc/api/search/files_e.html
#	doc/api/search/files_e.js
#	doc/api/search/files_f.html
#	doc/api/search/files_f.js
#	doc/api/search/functions_0.html
#	doc/api/search/functions_0.js
#	doc/api/search/functions_1.html
#	doc/api/search/functions_1.js
#	doc/api/search/functions_10.html
#	doc/api/search/functions_10.js
#	doc/api/search/functions_11.html
#	doc/api/search/functions_11.js
#	doc/api/search/functions_12.html
#	doc/api/search/functions_12.js
#	doc/api/search/functions_13.html
#	doc/api/search/functions_13.js
#	doc/api/search/functions_14.html
#	doc/api/search/functions_14.js
#	doc/api/search/functions_15.html
#	doc/api/search/functions_15.js
#	doc/api/search/functions_16.html
#	doc/api/search/functions_16.js
#	doc/api/search/functions_2.html
#	doc/api/search/functions_2.js
#	doc/api/search/functions_3.html
#	doc/api/search/functions_3.js
#	doc/api/search/functions_4.html
#	doc/api/search/functions_4.js
#	doc/api/search/functions_5.html
#	doc/api/search/functions_5.js
#	doc/api/search/functions_6.html
#	doc/api/search/functions_6.js
#	doc/api/search/functions_7.html
#	doc/api/search/functions_7.js
#	doc/api/search/functions_8.html
#	doc/api/search/functions_8.js
#	doc/api/search/functions_9.html
#	doc/api/search/functions_9.js
#	doc/api/search/functions_a.html
#	doc/api/search/functions_a.js
#	doc/api/search/functions_b.html
#	doc/api/search/functions_b.js
#	doc/api/search/functions_c.html
#	doc/api/search/functions_c.js
#	doc/api/search/functions_d.html
#	doc/api/search/functions_d.js
#	doc/api/search/functions_e.html
#	doc/api/search/functions_e.js
#	doc/api/search/functions_f.html
#	doc/api/search/functions_f.js
#	doc/api/search/groups_0.html
#	doc/api/search/groups_0.js
#	doc/api/search/groups_1.html
#	doc/api/search/groups_1.js
#	doc/api/search/groups_2.html
#	doc/api/search/groups_2.js
#	doc/api/search/groups_3.html
#	doc/api/search/groups_3.js
#	doc/api/search/groups_4.html
#	doc/api/search/groups_4.js
#	doc/api/search/groups_5.html
#	doc/api/search/groups_5.js
#	doc/api/search/groups_6.html
#	doc/api/search/groups_6.js
#	doc/api/search/groups_7.html
#	doc/api/search/groups_7.js
#	doc/api/search/groups_8.html
#	doc/api/search/groups_8.js
#	doc/api/search/groups_9.html
#	doc/api/search/groups_9.js
#	doc/api/search/mag_sel.png
#	doc/api/search/nomatches.html
#	doc/api/search/pages_0.html
#	doc/api/search/pages_0.js
#	doc/api/search/search.css
#	doc/api/search/search.js
#	doc/api/search/search_l.png
#	doc/api/search/search_r.png
#	doc/api/search/typedefs_0.html
#	doc/api/search/typedefs_0.js
#	doc/api/search/typedefs_1.html
#	doc/api/search/typedefs_1.js
#	doc/api/search/typedefs_2.html
#	doc/api/search/typedefs_2.js
#	doc/api/search/typedefs_3.html
#	doc/api/search/typedefs_3.js
#	doc/api/search/typedefs_4.html
#	doc/api/search/typedefs_4.js
#	doc/api/search/typedefs_5.html
#	doc/api/search/typedefs_5.js
#	doc/api/search/typedefs_6.html
#	doc/api/search/typedefs_6.js
#	doc/api/search/typedefs_7.html
#	doc/api/search/typedefs_7.js
#	doc/api/search/typedefs_8.html
#	doc/api/search/typedefs_8.js
#	doc/api/search/typedefs_9.html
#	doc/api/search/typedefs_9.js
#	doc/api/search/typedefs_a.html
#	doc/api/search/typedefs_a.js
#	doc/api/search/typedefs_b.html
#	doc/api/search/typedefs_b.js
#	doc/api/search/typedefs_c.html
#	doc/api/search/typedefs_c.js
#	doc/api/search/typedefs_d.html
#	doc/api/search/typedefs_d.js
#	doc/api/splitbar.png
#	doc/api/sync_off.png
#	doc/api/sync_on.png
#	doc/api/tab_a.png
#	doc/api/tab_b.png
#	doc/api/tab_h.png
#	doc/api/tab_s.png
#	doc/api/tabs.css
#	doc/man.doxy
#	doc/manual/logo-mini.png
#	glm/CMakeLists.txt
#	glm/common.hpp
#	glm/detail/_swizzle.hpp
#	glm/detail/_swizzle_func.hpp
#	glm/detail/_vectorize.hpp
#	glm/detail/compute_common.hpp
#	glm/detail/func_common.inl
#	glm/detail/func_common_simd.inl
#	glm/detail/func_exponential.inl
#	glm/detail/func_geometric.inl
#	glm/detail/func_geometric_simd.inl
#	glm/detail/func_integer.inl
#	glm/detail/func_integer_simd.inl
#	glm/detail/func_matrix.inl
#	glm/detail/func_matrix_simd.inl
#	glm/detail/func_trigonometric.inl
#	glm/detail/qualifier.hpp
#	glm/detail/setup.hpp
#	glm/detail/type_mat2x2.hpp
#	glm/detail/type_mat2x2.inl
#	glm/detail/type_mat2x3.hpp
#	glm/detail/type_mat2x3.inl
#	glm/detail/type_mat2x4.hpp
#	glm/detail/type_mat2x4.inl
#	glm/detail/type_mat3x2.hpp
#	glm/detail/type_mat3x2.inl
#	glm/detail/type_mat3x3.hpp
#	glm/detail/type_mat3x3.inl
#	glm/detail/type_mat3x4.hpp
#	glm/detail/type_mat3x4.inl
#	glm/detail/type_mat4x2.hpp
#	glm/detail/type_mat4x2.inl
#	glm/detail/type_mat4x3.hpp
#	glm/detail/type_mat4x3.inl
#	glm/detail/type_mat4x4.hpp
#	glm/detail/type_mat4x4.inl
#	glm/detail/type_quat.hpp
#	glm/detail/type_quat.inl
#	glm/detail/type_quat_simd.inl
#	glm/detail/type_vec2.hpp
#	glm/detail/type_vec2.inl
#	glm/detail/type_vec3.hpp
#	glm/detail/type_vec3.inl
#	glm/detail/type_vec4.hpp
#	glm/detail/type_vec4.inl
#	glm/ext.hpp
#	glm/ext/matrix_clip_space.inl
#	glm/ext/matrix_transform.hpp
#	glm/ext/matrix_transform.inl
#	glm/ext/quaternion_common.hpp
#	glm/ext/quaternion_common.inl
#	glm/ext/quaternion_geometric.hpp
#	glm/ext/quaternion_geometric.inl
#	glm/ext/quaternion_trigonometric.hpp
#	glm/ext/scalar_common.inl
#	glm/ext/scalar_constants.inl
#	glm/ext/scalar_integer.inl
#	glm/ext/scalar_reciprocal.inl
#	glm/ext/scalar_ulp.inl
#	glm/ext/vector_reciprocal.inl
#	glm/ext/vector_relational.inl
#	glm/ext/vector_ulp.inl
#	glm/gtc/bitfield.inl
#	glm/gtc/constants.hpp
#	glm/gtc/constants.inl
#	glm/gtc/noise.inl
#	glm/gtc/packing.inl
#	glm/gtc/quaternion.hpp
#	glm/gtc/quaternion.inl
#	glm/gtc/random.inl
#	glm/gtc/ulp.inl
#	glm/gtx/associated_min_max.hpp
#	glm/gtx/bit.hpp
#	glm/gtx/closest_point.hpp
#	glm/gtx/color_encoding.hpp
#	glm/gtx/color_space.hpp
#	glm/gtx/color_space.inl
#	glm/gtx/color_space_YCoCg.hpp
#	glm/gtx/common.hpp
#	glm/gtx/common.inl
#	glm/gtx/compatibility.hpp
#	glm/gtx/component_wise.hpp
#	glm/gtx/component_wise.inl
#	glm/gtx/dual_quaternion.hpp
#	glm/gtx/easing.hpp
#	glm/gtx/euler_angles.hpp
#	glm/gtx/extend.hpp
#	glm/gtx/extended_min_max.hpp
#	glm/gtx/exterior_product.hpp
#	glm/gtx/exterior_product.inl
#	glm/gtx/fast_exponential.hpp
#	glm/gtx/fast_square_root.hpp
#	glm/gtx/fast_square_root.inl
#	glm/gtx/fast_trigonometry.hpp
#	glm/gtx/functions.hpp
#	glm/gtx/gradient_paint.hpp
#	glm/gtx/handed_coordinate_space.hpp
#	glm/gtx/hash.hpp
#	glm/gtx/hash.inl
#	glm/gtx/integer.hpp
#	glm/gtx/intersect.hpp
#	glm/gtx/intersect.inl
#	glm/gtx/io.hpp
#	glm/gtx/io.inl
#	glm/gtx/log_base.hpp
#	glm/gtx/matrix_cross_product.hpp
#	glm/gtx/matrix_decompose.hpp
#	glm/gtx/matrix_decompose.inl
#	glm/gtx/matrix_factorisation.hpp
#	glm/gtx/matrix_interpolation.hpp
#	glm/gtx/matrix_major_storage.hpp
#	glm/gtx/matrix_operation.hpp
#	glm/gtx/matrix_query.hpp
#	glm/gtx/matrix_transform_2d.hpp
#	glm/gtx/mixed_product.hpp
#	glm/gtx/norm.hpp
#	glm/gtx/norm.inl
#	glm/gtx/normal.hpp
#	glm/gtx/normalize_dot.hpp
#	glm/gtx/number_precision.hpp
#	glm/gtx/number_precision.inl
#	glm/gtx/optimum_pow.hpp
#	glm/gtx/orthonormalize.hpp
#	glm/gtx/pca.hpp
#	glm/gtx/perpendicular.hpp
#	glm/gtx/polar_coordinates.hpp
#	glm/gtx/projection.hpp
#	glm/gtx/quaternion.hpp
#	glm/gtx/quaternion.inl
#	glm/gtx/range.hpp
#	glm/gtx/raw_data.hpp
#	glm/gtx/rotate_normalized_axis.hpp
#	glm/gtx/rotate_vector.hpp
#	glm/gtx/scalar_multiplication.hpp
#	glm/gtx/scalar_relational.hpp
#	glm/gtx/spline.hpp
#	glm/gtx/std_based_type.hpp
#	glm/gtx/string_cast.hpp
#	glm/gtx/string_cast.inl
#	glm/gtx/texture.hpp
#	glm/gtx/transform.hpp
#	glm/gtx/transform2.hpp
#	glm/gtx/type_aligned.hpp
#	glm/gtx/type_trait.hpp
#	glm/gtx/vec_swizzle.hpp
#	glm/gtx/vector_angle.hpp
#	glm/gtx/vector_angle.inl
#	glm/gtx/vector_query.hpp
#	glm/gtx/wrap.hpp
#	glm/simd/common.h
#	glm/simd/matrix.h
#	glm/simd/neon.h
#	glm/simd/platform.h
#	manual.md
#	readme.md
#	test/CMakeLists.txt
#	test/bug/bug_ms_vec_static.cpp
#	test/core/CMakeLists.txt
#	test/core/core_force_compiler_unknown.cpp
#	test/core/core_force_pure.cpp
#	test/core/core_force_xyzw_only.cpp
#	test/core/core_func_common.cpp
#	test/core/core_func_geometric.cpp
#	test/core/core_func_integer.cpp
#	test/core/core_func_integer_bit_count.cpp
#	test/core/core_func_integer_find_lsb.cpp
#	test/core/core_func_integer_find_msb.cpp
#	test/core/core_func_matrix.cpp
#	test/core/core_func_swizzle.cpp
#	test/core/core_setup_force_cxx98.cpp
#	test/core/core_setup_message.cpp
#	test/core/core_setup_platform_unknown.cpp
#	test/core/core_type_aligned.cpp
#	test/core/core_type_cast.cpp
#	test/core/core_type_mat2x2.cpp
#	test/core/core_type_mat2x3.cpp
#	test/core/core_type_mat2x4.cpp
#	test/core/core_type_mat3x2.cpp
#	test/core/core_type_mat3x3.cpp
#	test/core/core_type_mat3x4.cpp
#	test/core/core_type_mat4x2.cpp
#	test/core/core_type_mat4x3.cpp
#	test/core/core_type_mat4x4.cpp
#	test/core/core_type_vec1.cpp
#	test/core/core_type_vec2.cpp
#	test/core/core_type_vec3.cpp
#	test/core/core_type_vec4.cpp
#	test/ext/ext_matrix_common.cpp
#	test/ext/ext_matrix_integer.cpp
#	test/ext/ext_quaternion_exponential.cpp
#	test/ext/ext_quaternion_type.cpp
#	test/ext/ext_scalar_common.cpp
#	test/ext/ext_scalar_integer.cpp
#	test/ext/ext_vec1.cpp
#	test/ext/ext_vector_common.cpp
#	test/ext/ext_vector_integer.cpp
#	test/ext/ext_vector_integer_sized.cpp
#	test/gtc/gtc_bitfield.cpp
#	test/gtc/gtc_color_space.cpp
#	test/gtc/gtc_constants.cpp
#	test/gtc/gtc_epsilon.cpp
#	test/gtc/gtc_integer.cpp
#	test/gtc/gtc_matrix_inverse.cpp
#	test/gtc/gtc_matrix_transform.cpp
#	test/gtc/gtc_packing.cpp
#	test/gtc/gtc_quaternion.cpp
#	test/gtc/gtc_random.cpp
#	test/gtc/gtc_round.cpp
#	test/gtc/gtc_type_aligned.cpp
#	test/gtc/gtc_type_precision.cpp
#	test/gtc/gtc_type_ptr.cpp
#	test/gtc/gtc_ulp.cpp
#	test/gtx/CMakeLists.txt
#	test/gtx/gtx_color_encoding.cpp
#	test/gtx/gtx_color_space.cpp
#	test/gtx/gtx_color_space_YCoCg.cpp
#	test/gtx/gtx_common.cpp
#	test/gtx/gtx_component_wise.cpp
#	test/gtx/gtx_dual_quaternion.cpp
#	test/gtx/gtx_easing.cpp
#	test/gtx/gtx_euler_angle.cpp
#	test/gtx/gtx_extended_min_max.cpp
#	test/gtx/gtx_exterior_product.cpp
#	test/gtx/gtx_fast_square_root.cpp
#	test/gtx/gtx_fast_trigonometry.cpp
#	test/gtx/gtx_functions.cpp
#	test/gtx/gtx_hash.cpp
#	test/gtx/gtx_integer.cpp
#	test/gtx/gtx_intersect.cpp
#	test/gtx/gtx_io.cpp
#	test/gtx/gtx_load.cpp
#	test/gtx/gtx_log_base.cpp
#	test/gtx/gtx_matrix_decompose.cpp
#	test/gtx/gtx_matrix_factorisation.cpp
#	test/gtx/gtx_matrix_interpolation.cpp
#	test/gtx/gtx_matrix_operation.cpp
#	test/gtx/gtx_matrix_query.cpp
#	test/gtx/gtx_norm.cpp
#	test/gtx/gtx_pca.cpp
#	test/gtx/gtx_quaternion.cpp
#	test/gtx/gtx_range.cpp
#	test/gtx/gtx_rotate_vector.cpp
#	test/gtx/gtx_scalar_multiplication.cpp
#	test/gtx/gtx_spline.cpp
#	test/gtx/gtx_string_cast.cpp
#	test/gtx/gtx_texture.cpp
#	test/gtx/gtx_type_aligned.cpp
#	test/gtx/gtx_type_trait.cpp
#	test/gtx/gtx_wrap.cpp
#	test/perf/perf_matrix_div.cpp
#	test/perf/perf_matrix_inverse.cpp
#	test/perf/perf_matrix_mul.cpp
#	test/perf/perf_matrix_mul_vector.cpp
#	test/perf/perf_matrix_transpose.cpp
#	test/perf/perf_vector_mul_matrix.cpp
2024-02-09 13:47:39 -08:00
Christophe
b101e8f3de Fixed SIMD implementation #1222 2024-02-09 14:19:23 +01:00
Christophe
90f2b025b1 Fixed EXT_matrix_transform inverted shear matrix multiple #1140 #1182 2024-02-08 20:42:33 +01:00
Christophe
7adb4a5040 changelog: Added aligned_*vec3 simd support #1245 2024-02-08 20:41:21 +01:00
Christophe
9e72e5ae67 Fix and ignore warnings 2024-02-08 20:35:21 +01:00
Laurent Caumont
7f2a5b89b3 Simd improvement
- Add simd aligned_vec3 (and sse aligned_dvec3 - 2 x xmm)
- Fast packed_vec3 <=> aligned_vec3 and packed_vec4 <=> aligned_vec4 conversion
- Fast aligned_vec3 <=> aligned_vec4 conversion
- Optimized aligned_mat x aligned_mat and aligned_mat x aligned_vec
- Inverse aligned_mat3 simd version (actually slower than ssid on my computer even it has 30% less instruction ?)
2024-02-08 20:35:21 +01:00
Christophe
88a6ed6ee1 Visual C++: Enables /Wall 2024-02-08 15:15:31 +01:00
Christophe
4eb3fe1d7d fcomp: Fix build in C++98 mode 2024-02-07 14:20:28 +01:00
Maximilian Sackel
c9ca4dc77c Implementing fcompMin / fcompMax, closes g-truc/glm#1215 2024-02-07 14:20:28 +01:00
Christophe
7b53739128 Only enable compiler warnings and warnings as error on unit tests 2024-02-06 20:37:11 +01:00
Christophe
ce1362faba Updated changelog 2024-02-06 20:37:11 +01:00
Christophe
b251b22d00 Fixed C++ language auto detection build, disable C++98 warnings with Clang #1235, #1231 2024-02-06 20:37:11 +01:00
Christophe
31a5f56a7c Fix epsilon not declared in color_space.inl #1233 2024-02-06 20:37:11 +01:00
Christophe
7872e05246 Update logo 2024-02-06 20:35:59 +01:00
Christophe
48336e2637 Update logo 2024-02-06 20:30:05 +01:00
junjie020
dcb8496300 replace GLM_FORCE_QUAT_CTOR_XYZW to GLM_FORCE_QUAT_DATA_XYZW 2024-02-06 15:23:54 +01:00
Krzesimir Nowak
38edba1818 Avoid warnings about comparisons being always true
Depending on the signedness of length_t type we may either get
warnings comparison of unsigned expression in ‘>= 0’ being always true
or do insufficient checking by not checking if index is not negative.

Hide the index checking behind a macro that check the index properly.
2024-02-06 15:19:45 +01:00
Björn Wahlstrand
8ebe4b5e57 Fix compare that is always true 2024-02-03 20:06:18 +01:00
Christophe
33b0eb9fa3 Updated doc 2024-01-24 14:43:07 +01:00
christophe
d58f9bcfed GLM bumps to version 1.0.0 2024-01-24 14:26:35 +01:00
Oleksii Chernykh
673a963a0f Added description for fetching glm with cmake in readme.md 2024-01-20 10:11:40 +01:00
Christophe
f86092a658
Remove disabled warnings (#1213)
* Remove disabled warnings
2024-01-20 10:11:13 +01:00
Christophe
b06b775c1c C.I.: Enable manually run tests on PRs 2024-01-03 14:33:27 +01:00
Christophe
da9a21d7e3
Add C++ 20 Modules (#1208)
* Add support for C++20 modules.

---------

Co-authored-by: Nikita Gubarkov <nikita.gubarkov@jetbrains.com>
Co-authored-by: YaaZ <764610@gmail.com>
2023-12-31 11:18:08 +01:00
Stephan Seitz
1d8467f606 Annotate swizzle operations with GLM_FUNC_QUALIFIER
This enables the use of swizzle operations in device code
2023-12-31 11:16:53 +01:00
christophe
d2033739cf Fix quat angle documentation #820 2023-12-30 10:36:28 +01:00
Stéphane GINIER
8d337c0c65
Fix quat packing XYZW usage (#1204) 2023-12-30 09:32:24 +01:00
Christophe
5ce98b7514
Fix hash message (#1205)
Co-authored-by: christophe <christophe@g-truc.net>
2023-12-30 00:29:45 +01:00
Christophe
b6618171dd
Fix GLM_GTX_hash (#1202)
* Fix GLM_GTX_hash, requires C++ 11
2023-12-29 12:50:27 +01:00
Christophe
a40974fb86
Test multiple platforms to test multiple compiler versions (#1199) 2023-12-28 16:50:25 +01:00
Brumus14
7882684a2c Update manual.md
Fixed spelling errors in part 1.1 of manual:
"thought" to "through"
"separated" to "separate"
2023-12-27 10:47:37 +01:00
christophe
5700afbbf8 Add missing extensions in ext.hpp 2023-12-25 22:07:16 +01:00
christophe
8e2bdd1fdb Add GLM_FORCE_UNRESTRICTED_FLOAT to skip static assert when using not float types 2023-12-25 19:45:46 +01:00
christophe
869f9da00e Add GLM_FORCE_UNRESTRICTED_FLOAT to skip static assert when using not float types 2023-12-25 19:45:46 +01:00
christophe
229f3eced4 Add GLM_FORCE_UNRESTRICTED_FLOAT to skip static assert when using not float types 2023-12-25 19:45:46 +01:00
christophe
2993560ec9 Remove dead files 2023-12-23 10:11:26 +01:00
xiaozhuai
89850e6f4b Update readme 2023-12-22 14:51:20 +01:00
xiaozhuai
46b796dd79 Optimize cmake targets 2023-12-22 14:51:20 +01:00
christophe
e4dd44d584 Trying to make sure external contributor trigger C.I. 2023-12-22 12:29:26 +01:00
christophe
e98ad7c9f8 Avoid duplicated C.I. runs 2023-12-22 11:57:51 +01:00
christophe
e357f58c96 gni 2023-12-22 11:50:46 +01:00
Christophe
cf69137d6d quaternion: Revert #1069 2023-12-22 11:50:46 +01:00
Lucas CHOLLET
1cc8e80e3b Make mat operators constexpr 2023-12-22 08:31:22 +01:00
Christophe
fc236e0bf8
Adding constexpr qualifier for helper functions #1050 (#1184)
* Adding constexpr for exterior product

* Adding constexpr for conjugate

* Adding constexpr for dot, cross and inverse quaternion functions

* Adding constexpr for quat lerp

* Adding constexpr to quaternion comparison functions

lessThan, lessThanEqual, greaterThan, greaterThanEqual

* Adding constexpr for mix functions

mix(scalar, scalar), mix(vec, vec, vec), mix(vec,vec,scalar)

* Adding constexpr for sign(vec) and sign(genFIType)

* Initialize result lessThan, lessThanEqual, greaterThan, greaterThanEqual

Default ctor used in constexpr contex generates warning on gcc

* Adding constexpr to cross(vec, qua) and cross(qua, vec)

* Adding constexpr to glm::translate

* Adding constexpr for exterior product

* Adding constexpr for conjugate

* Adding constexpr for dot, cross and inverse quaternion functions

* Adding constexpr for quat lerp

* Adding constexpr to quaternion comparison functions

lessThan, lessThanEqual, greaterThan, greaterThanEqual

* Adding constexpr for mix functions

mix(scalar, scalar), mix(vec, vec, vec), mix(vec,vec,scalar)

* Adding constexpr for sign(vec) and sign(genFIType)

* Initialize result lessThan, lessThanEqual, greaterThan, greaterThanEqual

Default ctor used in constexpr contex generates warning on gcc

* Adding constexpr to cross(vec, qua) and cross(qua, vec)

* Adding constexpr to glm::translate

---------

Co-authored-by: RohacekD <RohacekD@gmail.com>
2023-12-22 08:31:02 +01:00
Christophe
4ecc8af5b9 trigger C.I. 2023-12-21 18:28:58 +01:00
Christophe
e6b9b76027 trigger C.I. 2023-12-21 18:28:28 +01:00
Christophe
d6e24170b4 Nan is not supported with C++98 2023-12-21 18:14:20 +01:00
Christophe
0ceaba1da9 Nan is not supported with C++98 2023-12-21 18:14:20 +01:00
Christophe
0d52d5ddab Fix master build 2023-12-21 18:14:20 +01:00
Christophe
557f5f2731 Fix test 2023-12-21 17:45:01 +01:00
Christophe
92e945cc8a GLM_EXT_vector_integer: add integer mix tests 2023-12-21 17:45:01 +01:00
christophe
48516f31a7 Fix vec1 types redefinition 2023-12-21 16:16:52 +01:00
christophe
ec6e3d6cb5 Fix invalid namespaces 2023-12-21 16:16:52 +01:00
christophe
4681c5b347 Fix lib build dependent of test build 2023-12-21 15:20:01 +01:00
christophe
820557cf31 Fix GTC_matrix_transform test for C++98 2023-12-21 14:21:29 +01:00
azhirnov
ed1059731f add infinitePerspectiveRH_ZO 2023-12-21 14:12:18 +01:00
azhirnov
9cb19aa43f Added infinitePerspectiveLH_ZO and tests
Renamed infinitePerspectiveLH -> infinitePerspectiveLH_NO
2023-12-21 14:12:18 +01:00
christophe
926e5d4b70 Add tau constant ##1153 2023-12-21 13:25:48 +01:00
christophe
85f2e6b998 Add tau constant ##1153 2023-12-21 13:25:48 +01:00
christophe
08f2fd1099 Fix C++20 2023-12-21 13:25:48 +01:00
christophe
edc5e624df Fix build 2023-12-21 13:25:48 +01:00
christophe
f9a5a404dd Fix C.I. file 2023-12-21 13:25:48 +01:00
christophe
bab156f795 add status badge 2023-12-21 13:25:48 +01:00
christophe
46818dccca fix: reinterpret_cast to explicit conversions #1123 2023-12-21 13:25:48 +01:00
christophe
f1bfe6cc95 Fix C++20 build 2023-12-21 13:25:48 +01:00
Christophe
c668158672 Add Clang on Linux 2023-12-21 13:25:48 +01:00
Christophe
e000a4703e Remove AVX2 on macOS 2023-12-21 13:25:48 +01:00
Christophe
53302ad486 Apply suggestions from code review 2023-12-21 13:25:48 +01:00
Christophe
5ae05c9296 Fix GLM_DISABLE_AUTO_DETECTION error with Werror on Windows 2023-12-21 13:25:48 +01:00
Christophe
971f22222e C.I. Fix timeout 2023-12-21 13:25:48 +01:00
Christophe
e27fcc7bbd C.I.: Add more C++ language versions 2023-12-21 13:25:48 +01:00
Christophe
3b21b05ac2 C.I.: Add AVX tests 2023-12-21 13:25:48 +01:00
Christophe
66991e59aa Fix bitCount test version 2023-12-21 10:17:16 +01:00
icaven
71e7088436
Merge pull request #2 from g-truc/fix-doc
Fix doc
2023-12-20 19:17:34 -08:00
Ian Cavén
3bb607e573 Merging PR#2 from @christophe-lunarg 2023-12-20 19:16:25 -08:00
Christophe
c83236b044 cuda: Fix GTX_vec_swizzle 2023-12-21 00:49:14 +01:00
Christophe
2171a5b818 Fix intersectRayTriangle from GLM_GTX_intersect #1158 2023-12-21 00:47:13 +01:00
Christophe
1682a8c360 Fix doc typo 2023-12-20 23:53:35 +01:00
Christophe
5e7c4468af Fix doc typo 2023-12-20 23:52:50 +01:00
Christophe
5c008438db doc: Updated readme 2023-12-20 23:51:25 +01:00
Christophe
8a700ad040 More C.I. tests 2023-12-20 23:14:24 +01:00
Christophe
641bb363a7 gni 2023-12-20 22:33:20 +01:00
Christophe
c568980cf5 Revert broken vec4 SIMD 2023-12-20 22:33:20 +01:00
Christophe
edecbf1c59 Revert "Add support for non aligned SIMD for vec4"
This reverts commit 4e01e940de36f1b0426b9f9c47ca9ce51ae0de45.
2023-12-20 22:33:20 +01:00
Christophe
2d38c41161 Fixes for tests build 2023-12-20 22:33:20 +01:00
Christophe
b90333c124 C.I. Add GitHub Actions 2023-12-20 22:33:20 +01:00
Rafal Bielski
586a402397 Remove the SYCL hacks
This reverts PR #914 which introduced a hacky way to replace
all std namespace maths function calls with sycl namespace ones.

Presumably the original intention was to use GLM functions in SYCL
device code (e.g. on GPUs) and force it to use the maths implementations
optimised for the target device. However, this has been very limited
in scope since the start because GLM relies heavily on function pointers
which are illegal to use inside SYCL device code.

The hacky solution shadowing std namespace with glm::std is problematic
in many ways. One was that it required re-introducing all std symbols used
across GLM codebase back to glm::std. The list of these symbols is difficult
to maintain over time without extensive CI testing and unsurprisingly it got
broken. Any code just including (some of) GLM headers now no longer compiles
with SYCL compilers even if GLM is only used on the host side (CPU code).

Remove this hack to allow SYCL programs using GLM on the host side to compile.

The original hack was tested against the ComputeCpp compiler which is now
phased out in favour of Intel's DPC++. Remove also the mention of ComputeCpp
from README. The statement about "any C++11 compiler" still covers the host
code compilation with DPC++.
2023-11-09 11:37:13 +01:00
Zulleyy3
e623a9cfee Update readme.md to link to new API reference 2023-11-09 11:35:36 +01:00
Christophe
b85861aa09
Merge pull request #1162 from laurentcau/master
Add support for non aligned SIMD for vec4
2023-11-09 11:33:32 +01:00
Laurent Caumont
c2c1d15592 fix cmake version 2023-11-08 15:54:46 +01:00
Laurent Caumont
1b0f61e285 Add support for non aligned SIMD for vec4
It is used as default configuration for Visual Studio 64 bits compilation (needs Language Extension).
code changes:
- add new qualifiers:
  unaligned_simd_highp
  unaligned_simd_mediump
  unaligned_simd_lowp
- add use_simd and replace is_aligned
(code for ARM NEON is added but not tested)
2023-11-08 09:30:26 +01:00
Christophe
47585fde0c
Merge pull request #1136 from RRR784/patch-1
changed GLM_FORCE_QUAT_DATA_WXYZ to GLM_FORCE_QUAT_DATA_XYZW #1136
2023-08-18 15:15:04 +02:00
Christophe
d46ce89c74
Merge pull request #1148 from Vadmeme/master
Made GLM_FORCE_QUAT_DATA_XYZW be supported by most major functions #1148
2023-08-18 15:13:52 +02:00
Christophe
65c16d5da1
Merge pull request #1146 from stephen-hqxu/cuda-constexpr-abs
Fix: CUDA compiler error on constexpr abs function #1146
2023-08-18 15:09:10 +02:00
Christophe
ae668c4e7f
Merge pull request #1144 from stephen-hqxu/cuda-default-function
Revert and fix: Follow-up improvement for #1107 #1144
2023-08-18 15:08:02 +02:00
Christophe
db0f79de12
Merge pull request #1137 from tetrisplusplus/fix_glm_gtx_matrix_query_isOrthogonal
fix: isOrthogonal for a zero matrix #1137
2023-08-18 15:04:55 +02:00
Christophe
2c74560914
Merge pull request #1130 from eliemichel/master
Automatically add lightweight archives to releases #1130
2023-08-18 15:00:34 +02:00
Christophe
99fe1c8f7d
Merge pull request #1142 from thp/recompose
gtx_matrix_decompose: Add glm::recompose() #1142
2023-08-18 14:55:41 +02:00
Christophe
13b40e378a
Merge pull request #1147 from marksheppard/fix
Fix Clang 15 test build errors #1147
2023-08-18 14:52:55 +02:00
Christophe
aab59fbd7a
Merge pull request #1152 from aiden-knight/manual-fix
Fixed include file for perspective function in manual #1152
2023-08-18 14:50:34 +02:00
Christophe
684822982b
Merge pull request #1150 from fsmoke/gcc-warnings-fix
gcc x64 build warning fix around type casting size_t to int #1150
2023-08-18 14:49:45 +02:00
Christophe
b5776a91ae
Merge pull request #1154 from tomix1024/fix-atan2-declaration
Fix atan2(y,x) #1154
2023-08-18 14:48:57 +02:00
Christophe
c9f9337c32
Merge pull request #1155 from danblae/master
Update cmake version to prevent deprecation #1155
2023-08-18 14:47:22 +02:00
Christophe
b3a6570096
Merge pull request #1118 from rleigh-codelibre/float-sig-consistency
Make vec4, mat4x3 and mat4x4 binary operators and contructors for scalars consistent with other types #1118
2023-08-18 14:46:24 +02:00
Daniel Blaensdorf
8b94f970d9 Update cmake version to prevent deprecation 2023-07-24 08:31:43 +02:00
Tom Kneiphof
21db8fbdcb Fix atan2(y,x) 2023-07-10 12:28:42 +02:00
Aiden Knight
2f014270b6 Fixed include file for perspective function in manual 2023-06-10 17:21:58 +01:00
Christophe
5c46b9c070
Merge pull request #1149 from leokolln/patch-1
Fix docs, incorrect and inconsistent handiness descriptions #1149
2023-06-08 17:08:47 +02:00
Christophe
1bd1d627be
Merge pull request #1151 from rgergely/reorder_static_cast
Apply `static_cast` before calling `detail::mask` in `bitfieldInsert` #1151
2023-06-08 17:07:41 +02:00
Gergely Racz
6486113379 apply static_cast before calling mask in bitfieldInsert 2023-05-12 11:09:41 +02:00
kostromin
d4717fb57e gcc x64 build warning fix around type casting size_t to int 2023-04-21 10:49:22 +03:00
Léo Willian Kölln
738b4375c3
Fix docs, inconsistent spelling of handiness 2023-04-18 01:14:18 -03:00
Léo Willian Kölln
cbc5229400
Fix docs, left and right handness were swapped 2023-04-18 01:03:24 -03:00
Woob
9398c5843f Fix SIMD quat operations. 2023-04-02 12:55:40 -07:00
Woob
c6606998a5 Made GLM_FORCE_QUAT_DATA_XYZW be supported by most major functions 2023-04-01 14:50:37 -07:00
Mark Sheppard
3cb568cd37 Fix Clang 15 test build errors
Fixes for compiler errors when building the tests using Clang 15,
including:

    * Use explicit cast to silence Wimplicit-int-float-conversion
      warning for conversion of spin count in implementation of
      glm::slerp.
    * Use GLM_FORCE_MESSAGES instead of removed GLM_MESSAGES for
      messages in glm/gtx/hash.hpp, avoiding Wundef warning.
    * Encode en dash in URL for Gram-Schmit Process wikipedia page and
      replace similar en dashes in comments with regular dashes, to
      avoid Winvalid-utf8 warnings in glm/gtx/matrix_factorisation.inl.
    * Replace degree sign symbol with text "degrees" to avoid
      Winvalid-utf8 warnings in test/gtc/gtc_quaternion.cpp.
    * When using Clang, build tests with -Wno-float-equal to silence
      Wfloat-equal warning in implementation of glm::vec<L,T,Q>::equal.
    * For performance tests in test/gtx/gtx_fast_trigonometry.cpp, add
      statement explicitly casting result to void, to silence
      Wunused-but-set-variable warnings.
    * Add newline at end of test/gtx/gtx_hash.cpp to silence
      Wnewline-eof warning.
    * Rename namespace _1aga to agarose in test/gtx/gtx_pca.cpp to
      avoid Wreserved-identifier warning.
2023-03-31 17:39:53 +01:00
Stephen Xu
f8a9e5043f
Remove *constexpr* from *compute_abs* on CUDA 2023-03-30 19:23:00 +01:00
Stephen Xu
91c9409959
Use different qualifiers for default function and constructor
So it is more robust against user configuration to force constructor initialisation
2023-03-21 19:08:25 +00:00
Stephen Xu
140e7cf1b2
Use different function qualifier for default-able functions 2023-03-21 16:29:36 +00:00
Stephen Xu
7e80d9582e
Revert PR #1107 due to potential ill-formed NDR 2023-03-21 15:52:57 +00:00
Thomas Perl
4afe953bff gtx_matrix_decompose: Add glm::recompose() 2023-02-26 18:33:47 +01:00
tetrisplusplus
e48b2a72c8 Improved performace. 2023-01-23 21:41:27 +09:00
tetrisplusplus
96b1c72bfc Fixed isOrthogonal, return false for zero matrix 2023-01-23 21:27:02 +09:00
tetrisplusplus
2af53d5981 Added test_isOrthogonal for zero matrix 2023-01-23 21:05:35 +09:00
RRR784
941539fb29
changed GLM_FORCE_QUAT_DATA_WXYZ to GLM_FORCE_QUAT_DATA_XYZW
related to https://github.com/g-truc/glm/pull/1069#issuecomment-832934981
2023-01-20 11:32:57 -05:00
Christophe
efec5db081
Merge pull request #1134 from la-canne-enchainee/test_round_fix
Fix round test #1134
2023-01-13 18:08:59 +01:00
Christophe
d58d06b1ef
Merge pull request #1132 from gottfriedleibniz/fix/exports
fix: declarations #1132
2023-01-13 18:05:50 +01:00
olga
97e09aa304 Fix round test
Depending on the developer environment, the output of round for o.5 or -0.5 may be different (according to the GLSL spec). So the test was too restrictive.
2023-01-13 14:08:46 +01:00
Gottfried Leibniz
36aa3e75b2 fix: declarations 2023-01-09 17:48:57 -04:00
Elie Michel
24fd816df3
Update make_light_release.yml 2023-01-09 00:29:46 +01:00
Elie Michel
783310c1aa
Update make_light_release.yml 2023-01-09 00:26:16 +01:00
Elie Michel
e83da44f00
Update make_light_release.yml 2023-01-09 00:24:56 +01:00
Elie Michel
b733265bc8
Update make_light_release.yml 2023-01-09 00:04:03 +01:00
Elie Michel
1f61d8a056
Create make_light_release.yml 2023-01-08 23:56:32 +01:00
Christophe
fc8f4bb442
Merge pull request #1122 from Thibaulltt/fix_glm_ext_matrix_common
Fix GLM_EXT_matrix_common : row to column-major #1122
2022-10-26 17:30:34 +02:00
Thibault de Villèle [UM]
1c18fca789 Fix GLM_EXT_matrix_common : row to column-major
The previous patch made the incorrect assumption matrices were row-major
instead of column-major (got the two mixed up in my head).

This fixes this problem.

Also, this extends the test files to cover all matrix sizes (not types,
that would be redundant).
2022-10-26 11:17:23 +02:00
Christophe
0a6d3334ea
Merge pull request #1086 from imgly/imgly/fix/vdivq_f32_undefinded_armv7
Fixed use of undeclared identifier 'vdivq_f32' while compile for ARMv7 #1086
2022-10-24 12:54:34 +02:00
Christophe
e250ffe36d
Merge pull request #1109 from EbiSadeghi/master
Documentation: spelling, grammar, and clarity #1109
2022-10-24 12:50:49 +02:00
Christophe
7b9d310dbd
Merge pull request #1116 from Thibaulltt/master
GLM_EXT_matrix_common : add glm::mat<> support to glm::abs() #1116
2022-10-24 12:33:54 +02:00
Christophe
af9725719e
Merge pull request #1112 from Goubermouche/master
Fixed a typo in io.hpp #1112
2022-10-24 12:30:09 +02:00
Christophe
03b7f75c75
Merge pull request #1120 from Tachi107/manual.md-fixes
docs(manual): some markdown fixes
2022-10-24 12:28:48 +02:00
Christophe
38b7a1a983
Merge pull request #1107 from stephen-hqxu/cuda-default-function
Force no default function when using CUDA #1107
2022-10-24 12:27:30 +02:00
Christophe
ebf51708ad
Merge pull request #1106 from stephen-hqxu/cuda-qualifier
Add define macro to select CUDA function qualifier #1106
2022-10-24 12:26:36 +02:00
Christophe
8339c77bd6
Merge pull request #1113 from genpfault/fix-noexcept-warnings
GCC: Fix noexcept warnings on hash functions #1113
2022-10-24 12:18:30 +02:00
Christophe
bb4466ec3d
Merge pull request #1114 from gottfriedleibniz/docs/doxygen
cleanup doxygen and codespell #1114
2022-10-24 12:12:54 +02:00
Christophe
b48debf7e8
Merge pull request #1101 from drfiemost/missing_define
Add missing GLM_COMPILER_GCC61 define #1101
2022-10-24 12:08:43 +02:00
Ebi Sadeghi
bfa82837ea
Changed the e^v clarification in source
Earlier I made the change in the html generated by doxygen rather than the source used to generate the documentation.
2022-09-20 20:20:58 -07:00
Roger Leigh
bdf26d258d Make mat4x3 binary operators for scalars consistent with other types 2022-09-20 18:59:34 +01:00
Roger Leigh
7da7f7c887 Make mat4x4 binary operators for scalars consistent with other types 2022-09-20 18:59:34 +01:00
Leandro Nini
06afe0718a
Fix indentation 2022-09-20 18:49:15 +02:00
Andrea Pappacoda
b4a09f5ac0
docs(manual): some markdown fixes
- Add a blank line before block elements (lists, code blocks, etc)
- Remove trailing whitespace
- Use "plaintext" language for code blocks when appropriate
- Fix duplicated section3_4 anchor
- Fix <` to `< in section 4.10
- Always referece images relative to the current directory
- Use markdown-style link instead of HTML href in section 7.13
- Remove extra space before closing emphasis in section 4.18
2022-09-19 22:50:52 +02:00
Roger Leigh
32c2bb8296 Make vec4 binary operators for scalars consistent with other types 2022-09-19 13:15:26 +01:00
Thibault de Villèle [UM]
48e1ff3fee Add glm::abs() function for the glm::mat<> class
This is added as part of the GLM_EXT_matrix_common extension, as this
function is not provided by the core GLSL specification (version 4.20).

The implementation of this glm::abs(mat<>) function mirrors the
glm::abs(vec<>) implementation. It should be functionning the same in
every way as the vec implementation.

Bonus points : AFAICT this allows to vectorize operations on compilers
that support optimization of these patterns, just like the functor1<>
struct in _vectorize.hpp for vectors.
2022-08-29 14:22:10 +02:00
Thibault de Villèle [UM]
ef351e68a3 Fix GLM_EXT_matrix_common compilation message
It was previously printing 'GLM_EXT_matrix_transform is included', which
does not match the extension name.
2022-08-29 13:19:56 +02:00
Charles Huber
4b6284e39d GCC: Fix noexcept warnings on hash functions
Fix warnings on hash functions with GCC and -Wnoexcept:
* Add GLM_HAS_NOEXCEPT flag & GLM_NOEXCEPT #define to setup.hpp.
* Add GLM_NOEXCEPT to hash functions in hash.hpp.
* Add GLM_NOEXCEPT to matrix operator[] accessors.
* Add gtx_hash.cpp and a test to verify all hash overloads compile.
  Configure with -DCMAKE_CXX_FLAGS="-Werror -Wnoexcept" to test.
2022-08-24 15:21:11 -05:00
Gottfried Leibniz
8719fcb839 cleanup doxygen and codespell 2022-08-01 19:25:47 -03:00
Šimon Tupý
12b5fb2a88
Fixed a typo in io.hpp. 2022-07-24 06:04:19 +02:00
Ebi Sadeghi
8415b031f9
Changed variable description from x to v
The description of the function "exp" erroneously referred to "x" rather than "v". Rectified.
2022-07-11 19:55:22 -07:00
Ebi Sadeghi
804ec70c2e
Spelling corrections
Minor grammar and spelling.
2022-07-11 19:50:45 -07:00
Stephen Xu
0b08654ad6
Don't use default function when working with CUDA. 2022-06-03 16:01:35 +01:00
Stephen Xu
e1b2d3d7d5
Add user instructions. 2022-06-02 21:32:12 +01:00
Stephen Xu
3b09445290
Add defines to manually select CUDA function qualifier. 2022-06-02 19:36:50 +01:00
Christophe
cc98465e35
Merge pull request #1049 from borodust/aligned_bugfixes
Various bugfixes for aligned/simd codepaths #1049
2022-04-20 12:39:39 +02:00
Christophe
416d0a23eb
Merge pull request #1078 from maniek2332/gtx-easing-bounce-fix
Fix glm::bounceEaseInOut() easing formula #1078
2022-04-20 12:38:07 +02:00
Christophe
53eb7a2749
Merge pull request #1080 from junjie020/fix_frustumLH_matrix_bug
fix frustumLH projection matrix error #1080
2022-04-20 12:36:24 +02:00
Christophe
8b6e2ffb4a
Merge pull request #1096 from gottfriedleibniz/fix/minmax
fix: associated min/max #1096
2022-04-20 12:33:57 +02:00
Christophe
922f391824
Merge pull request #1100 from baldvin-kovacs/master
Fix implicit conversion compiler error in glm/gtc/random.inl #1100
2022-04-20 12:32:14 +02:00
Christophe
df969513ae
Merge pull request #1085 from jakubtyrcha/fix_msvc_compilation_cxx_20
Fixed MSVC compilation error with C++ 20 #1085
2022-04-20 12:31:30 +02:00
Christophe
c8f3357657
Merge pull request #1088 from xaedes/patch-sort-fwd-mat
Sort inconsistently ordered mat declarations in fwd.hpp #1088
2022-04-20 12:30:43 +02:00
Christophe
b7140ca2c8
Merge pull request #1089 from Zuzu-Typ/patch-2
Removed redundant precision qualifiers #1089
2022-04-20 12:29:48 +02:00
Christophe
1022fdf6d1
Merge pull request #1090 from gottfriedleibniz/fix-neverinline
fix: GLM_NEVER_INLINE #1090
2022-04-20 12:28:19 +02:00
Christophe
f08ee17957
Merge pull request #1091 from yknishidate/bugfix
Fix tengant typo #1091
2022-04-20 12:27:40 +02:00
Christophe
fd265ff18e
Merge pull request #1092 from elect86/patch-5
Update type_vec4.hpp
2022-04-20 12:27:06 +02:00
Christophe
89d0eb1f06
Merge pull request #1094 from gottfriedleibniz/fix/mat2x3
fix mat2 constructors #1094
2022-04-20 12:26:28 +02:00
Christophe
d33344bd86
Merge pull request #1097 from gottfriedleibniz/fix/color
fix hsvColor types #1097
2022-04-20 12:25:48 +02:00
Christophe
43f2a5258b
Merge pull request #1098 from gottfriedleibniz/fix/arm
few ARM fixes #1098
2022-04-20 12:25:14 +02:00
Christophe
b2a9dae6dc
Merge pull request #1099 from Windsander/shearing
feat:    add shearing matrix operation on matrix_transfom #1099
2022-04-20 12:24:33 +02:00
Christophe
816e9b70fb
Merge pull request #1102 from WarEagle451/patch-1
Fix: Spelling mistake #1102
2022-04-20 12:22:55 +02:00
Noah LeBlanc
7243647a78
Spelling mistake fix 2022-02-15 01:54:29 -05:00
Leandro Nini
970860d06f
Add missing define 2022-02-11 15:00:02 +01:00
Baldvin Kovacs
63a229359e Fix implicit conversion compiler error in glm/gtc/random.inl
/glm/gtc/random.inl:25:17: error: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Werror,-Wimplicit-int-conversion]
                                std::rand() % std::numeric_limits<uint8>::max());
                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-02-10 22:12:46 +01:00
arikanli
0f318f63af feat: add shearing matrix operation on matrix_transfom 2022-01-20 21:27:30 +08:00
Gottfried Leibniz
3062122e5e fix: associated min/max
Remove unused qualifier and fix incorrect definition
2022-01-14 19:16:44 -04:00
Gottfried Leibniz
bfeb882fdb few ARM fixes 2022-01-14 19:14:27 -04:00
Gottfried Leibniz
14e3b04274 fix hsvColor types 2021-12-27 21:09:01 -04:00
Gottfried Leibniz
b857caa655 fix mat2 constructors 2021-12-13 16:14:40 -04:00
Giuseppe Barbieri
9621e7597e
Update type_vec4.hpp 2021-11-24 10:10:51 +01:00
nishidate-yuki
c5f9b31688 Fix tengant typo 2021-11-17 14:46:17 +09:00
Gottfried Leibniz
656a699f9a fix: glm_never_inline 2021-11-11 09:28:03 -04:00
Zuzu-Typ
fcda03b545 Removed precision qualifiers from atan2 in euler_angles.inl 2021-11-03 15:41:43 +01:00
Zuzu-Typ
1ed9bd96a9
Removed invalid precision qualifiers
`saturate(T x)` and `atan2(T x, T y)` have precision qualifiers as function template parameters, but they don't use (or need) them.
Removed these two qualifiers
2021-11-03 10:30:22 +01:00
xaedes
b5456a56a3 Sort inconsistently ordered mat declarations in fwd.hpp 2021-10-26 19:10:33 +02:00
Sven Nähler
a47a719b17 Fixed: use of undeclared identifier 'vdivq_f32' while compile for ARMv7 2021-10-07 09:45:00 +02:00
jakubtyrcha
318d7f2398 Fixed error C3861: 'Lv': identifier not found
This diagnostic occurred in the compiler generated function 'glm::vec<1,T,Q> &glm::vec<1,T,Q>::operator |=(const glm::vec<1,A,Q> &)'
2021-09-18 19:26:01 +01:00
Christophe
6ad79aae3e
Merge pull request #1082 from psychocoderHPC/topic-HIPsupport
add AMD HIP support #1082
2021-09-02 16:54:41 +02:00
Pavel Korolev
401cc833ef Various bugfixes for aligned/simd codepaths 2021-08-08 00:43:30 +03:00
René Widera
a1d88cf991 add AMD HIP support
Add support for AMD HIP.
2021-08-05 11:54:10 +02:00
Christophe
06ed280db4
Merge pull request #1081 from xaedes/patch-1
Fixed header comment #1081
2021-07-31 23:46:22 +02:00
xaedes
a8b3401574
Fixed header comment
Info how to include this header file contained a wrong path. Changed it to the correct one.
2021-07-27 12:59:03 +02:00
junjie020
5f95999f32 fix frustumLH projection matrix get wrong result when left/right or top/bottom is not symmetries 2021-07-16 11:22:43 +08:00
Christophe
2759ceca04
Merge pull request #1079 from BramblePie/Change_orientedAngle_function
Change orientedAngle function #1079
2021-07-15 09:57:29 +02:00
Christophe
f0066a2acf
Merge pull request #1074 from szabolcsdombi/quaternion-constructor-parameters-fix
make quaternion constructor respect GLM_FORCE_QUAT_DATA_XYZW
2021-07-15 09:56:22 +02:00
Bram Pieters
90e85225f5 Change orientedAngle function 2021-06-24 15:03:12 +02:00
Christophe
84f2045a79
Merge pull request #1076 from stephomi/decompose_wxyz
Fix matrix decompose (wxyz quaternion) #1076
2021-06-07 21:29:54 +02:00
Christophe
8efb7408b5
Merge pull request #1077 from sgrottel/gtx-pca-test-rework
Reworked test for GTX PCA #1077 #1071
2021-06-07 21:27:24 +02:00
Mariusz Okulanis
eb23f89db2 fix glm::bounceEaseInOut() easing formula 2021-06-07 16:39:24 +02:00
SGrottel
104c1214ee Avoid fp comparison of glm::sign return value by introducing a sign comparison helper function 2021-06-05 16:43:47 +02:00
SGrottel
5dbba35275 Changed test functions to explicitly define comparison epsilons.
Updated 1aga expected computation results, based on external experiment based on precise / symbolic computation
Unified result comparison to always use `vectorEpsilonEqual` or `matrixEpsilonEqual`
2021-06-05 16:30:40 +02:00
Stéphane GINIER
f32eea1345 Fix matrix decompose (wxyz quaternion) 2021-06-01 16:16:16 +02:00
Christophe
66062497b1
Merge pull request #1075 from Robadob/nvrtc_support
BugFix: CUDA RTC support #1075
2021-05-23 18:03:02 +02:00
Robert Chisholm
00a195c687 BugFix: CUDA RTC support.
Someone noticed that c6dfaed would also catch GLM_COMPILER_GCC8
2021-05-19 14:15:57 +01:00
Szabolcs Dombi
820a2c0e62 make quaternion constructor respect GLM_FORCE_QUAT_DATA_XYZW 2021-05-17 08:40:22 +03:00
Christophe
70f67cb457
Merge pull request #1072 from g-truc/travis-update
Use default clang version of distribution
2021-05-15 12:51:02 +02:00
Christophe
dc9e555b4c
Merge pull request #1071 from sgrottel/gtx-pca
Implemented 'principle component analysis' utility in gtx #1071
2021-05-15 12:50:27 +02:00
Christophe
c6dfaed4a3
Merge pull request #1073 from Robadob/nvrtc_support
Correctly detect NVRTC and lack of stl support #1073
2021-05-15 12:31:00 +02:00
Robert Chisholm
948ac3b825 Add missing statement.
Didn't copy this across, good thing CI caught it.
2021-05-14 10:38:02 +01:00
Robert Chisholm
aa7380ae12 Fix lint. 2021-05-13 22:33:49 +01:00
Robert Chisholm
f0f95bd3de Correctly detect NVRTC and lack of stl support. 2021-05-13 22:13:04 +01:00
SGrottel
d71dba9603 Introduced a second, less precise comparison epsilon for the tests for now. 2021-05-11 07:44:40 +02:00
SGrottel
18d9b97aa4 Further increased comparison float epsilon, and further test batch testEigenvectors also failes.
Added debug output to `testEigenvectors` in case the error persists.
2021-05-10 23:36:17 +02:00
SGrottel
593b7cc36b Increased float comparison epsilon to pass tests. 2021-05-10 22:49:57 +02:00
SGrottel
a0ccbcc63d Added further details on the comparison issue with covariance matrices on some VMs.
Also corrected some code style guide, and changed `nullptr` to `GLM_NULLPTR` for better compatibility.
Tests are now executed in blocks of related tests, and only inbetween blocks the tests will exit.
2021-05-10 21:32:01 +02:00
SGrottel
d0d7945141 Additional debug output to investigate why test-gtx_pca fails on some VMs on Travis.
Also, reworked the `#if` about CXX11; did not seem to work correctly.
2021-05-10 19:35:57 +02:00
SGrottel
c792a0a221 Disabled tests requiring random engine when CXX11 STL is not available.
Added missed `typename` keywords, and fixed variable initialization.
2021-05-10 17:48:35 +02:00
SGrottel
0f5b544d5d Corrected errors on Xcode C++98 pure related to language extensions accidentially used. 2021-05-10 16:38:38 +02:00
SGrottel
b8adc27808 Removed lambdas and initializer list ctors to be compatible with older cpp standards. 2021-05-10 15:45:42 +02:00
Christophe
ddb6678c23 Use default clang version of distribution 2021-05-10 14:11:17 +02:00
Christophe
4abd46483a Fix Travis C.I. build 2021-05-10 13:34:39 +02:00
SGrottel
dd40903b74 Implemented 'principle component analysis' utility in gtx, including tests 2021-05-10 13:14:29 +02:00
Christophe
6e2b7eedd2
Merge pull request #1069 from Blurgyy/quaternion-sane-default
Fix constructor of struct qua to honor macro "GLM_FORCE_QUAT_DATA_WXYZ" #1069
2021-05-07 09:23:48 +02:00
Gaoyang Zhang
de7c83f1b6 Update test for GLM_FORCE_QUAT_DATA_XYZW
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-06 14:12:41 +08:00
Gaoyang Zhang
59ddeb7d1c Replace GLM_FORCE_QUAT_DATA_WXYZ with GLM_FORCE_QUAT_DATA_XYZW
The default data layout for quat has been changed to w,x,y,z to agree
with order of input parameters for quat's constructor.

Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-06 14:12:41 +08:00
Gaoyang Zhang
d573bf099a Revert "Fix constructor of struct qua to honor macro "GLM_FORCE_QUAT_DATA_WXYZ""
This reverts commit f931c4996ab15a0e911b9d5247d0edaa3fa426d5.
2021-05-06 14:12:23 +08:00
Gaoyang Zhang
f6f3596a6b Revert "Fix construction of identity quaternion"
This reverts commit 37842c7400e89962e542804083d407a1b8020e27.
2021-05-06 14:12:22 +08:00
Gaoyang Zhang
43b81f49fc Revert "Fix test due to change of default constructor of qua"
This reverts commit e800c41c0a6d79e038829b562cebe03768e4f365.
2021-05-06 14:12:16 +08:00
Gaoyang Zhang
e800c41c0a Fix test due to change of default constructor of qua
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-03 00:32:17 +08:00
Gaoyang Zhang
37842c7400 Fix construction of identity quaternion
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-03 00:31:09 +08:00
Gaoyang Zhang
f931c4996a Fix constructor of struct qua to honor macro "GLM_FORCE_QUAT_DATA_WXYZ"
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-02 23:09:59 +08:00
Christophe
761a842a59
Merge pull request #1062 from tksuoran/fix-cmake
Fix CMake FetchContent usage #1062
2021-04-05 13:27:48 +02:00
Christophe
820607ad2b
Merge pull request #1064 from SergeyKrivohatskiy/fix-axisAngle-for-small-angles
Fix axis angle implementation for near zero angles and near PI angles #1064
2021-04-05 13:25:56 +02:00
Christophe
50fdc42f13
Merge pull request #1065 from psychocoderHPC/fix-cudaClangCompile
fix clang CUDA compile #1065
2021-04-05 13:23:00 +02:00
René Widera
59fbd31552 fix clang CUDA compile
Fix CUDA compile issue when using clang.

```
glm/gtc/type_ptr.inl:257:22: error: __host__ function 'make_vec4' cannot overload __host__ __device__ function 'make_vec4'
6946        inline vec<4, T, Q> make_vec4(vec<4, T, Q> const& v)
```
2021-03-31 14:13:53 +02:00
Sergey Krivohatskiy
b5d4757580 compilation fix
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 15:22:16 +03:00
Sergey Krivohatskiy
e81a9c4baa compilation fixes
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 15:03:38 +03:00
Sergey Krivohatskiy
2010c883d5 formatting fix
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:33:11 +03:00
Sergey Krivohatskiy
2b766d5303 a few more tests for axisAngle
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:30:52 +03:00
Sergey Krivohatskiy
df7b5bda7c axisAngle epsilon changed to work as expected on small angles
also small refactoring
also single epsilon is used
also passes new axisAngle tests now

Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:28:36 +03:00
Sergey Krivohatskiy
c9c656ce31 axisAngle refactoring
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:27:00 +03:00
Sergey Krivohatskiy
57c3be0b9f Added axisAngle tests
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:24:41 +03:00
Timo Suoranta
1771b1127f Fix CMake FetchContent usage 2021-03-11 13:20:56 +02:00
Christophe
ace16e4778
Merge pull request #1060 from imgly/fix/simd-vec4-compare
Fixed the SIMD (SSE) implementation of compute_vec4_equal for floats #1060
2021-03-08 11:01:35 +01:00
Christophe
9203edd741
Merge pull request #1054 from kiroma/master
Create an install and package targets in cmake tree #1054
2021-03-08 10:55:19 +01:00
kiroma
ca1f397fe9
Merge pull request #1 from jaimedelreyg/feature/add_uninstall_to_cmake
Add target make uninstall in cmake files
2021-03-07 17:23:49 +01:00
Christophe
fe9bb21f1f
Merge pull request #1058 from SergeyKrivohatskiy/patch-1
Fix in axisAngle implementation #1058
2021-03-07 09:37:42 +01:00
Christophe
5e243a8efa
Merge pull request #1061 from g-truc/revert-1012-master
Revert "Fix quaternion orientation in `glm::decompose`" #1061 #1012
2021-03-07 09:36:25 +01:00
Christophe
bbedf96c16
Revert "Fix quaternion orientation in glm::decompose" 2021-03-06 17:12:03 +01:00
Jaime Del Rey Garcia
87de7f3f10 Add target make uninstall in cmake files 2021-03-06 08:58:58 +01:00
Christophe
64be09e1b1
Merge pull request #1057 from nick-dumas/master
Fix squered typo #1057
2021-03-02 22:49:53 +01:00
Keiwan Donyagard
a6fcdd0cbc Fixed the SIMD implementation of compute_vec4_equal for floats 2021-02-24 10:51:20 +01:00
Sergey Krivohatskiy
acab24129d
Fixed axisAngle implementation
`acos` domain is in range [-1.0, 1.0]. Due to inaccuracies the value `angleCos` may be slightly outside that range for a correct matrix and `acos(angleCos)` produces `NaN` in that case.

The fix is we check `angleCos` value and return `acos(1)` for `angleCos > 1` and `acos(-1)` for `angleCos < -1`.

The original code checked only for `angleCos` close to `1.0` and returned an incorrect value for `acos(1)`, which is `0`, not  `pi/4`.
2021-02-20 20:16:31 +03:00
Nick Dumas
2fc22e3f3e Fix squered typo
Squered -> Squared
2021-02-16 09:56:30 +08:00
Christophe
6347f62261
Merge pull request #1056 from nowakowsk/adjugate_fix
Missing transposition step in adjugate() for mat2 and mat4 #1056
2021-02-15 14:12:06 +01:00
nowakowsk
eabaf2338b Fixed unit tests for pre-C++11 compilers 2021-02-14 13:03:57 +01:00
nowakowsk
6437133cd2 fix: add missing transposition to adjugate for mat2 and mat4 2021-02-14 12:14:59 +01:00
Krzysztof Kurek
887827b762
Adjust CI to use the newly generated config files 2021-01-31 16:13:05 +01:00
Krzysztof Kurek
3a4b55020e
Make sure installed glm::glm has the includes 2021-01-31 14:50:00 +01:00
Krzysztof Kurek
dd457459b2
Update manual to reflect changes 2021-01-31 14:10:15 +01:00
Krzysztof Kurek
5797373dc2
Fix an issue with CMake versions 3.14 and earlier 2021-01-31 00:49:58 +01:00
Krzysztof Kurek
e936ed35ea
Resolve issues with CMake versions 3.13 and earlier 2021-01-30 23:59:37 +01:00
Krzysztof Kurek
631faffab3
Export targets from top-level CMake file
With some slight reordering of the code
2021-01-30 23:35:37 +01:00
Krzysztof Kurek
3e99386b6f
Include CPack if project is built as standalone 2021-01-30 23:00:41 +01:00
Krzysztof Kurek
f64239743e
Remove the cmake dir superseded by generated files 2021-01-30 22:33:55 +01:00
Krzysztof Kurek
6c9d74c3e0
Generate glmConfigVersion, move glmConfig to its own folder 2021-01-30 22:26:46 +01:00
Krzysztof Kurek
6059c5767b
Export the GLM target 2021-01-30 21:08:48 +01:00
Christophe
3a25105d86
Merge pull request #1047 from gottfriedleibniz/patch/is_identity
fix: isIdentity for non-symmetric matrices #1047
2020-12-27 16:26:39 +01:00
Christophe
bfd439bea5
Merge pull request #1051 from 06needhamt/patch-1
Fix Typo in readme.md #1051
2020-12-12 10:18:18 +01:00
Christophe
eb0dafd972 C.I. SIMD works fine locally but not on Travis.. 2020-12-10 16:13:21 +01:00
christophe-lunarg
ef1a60e1d7 C.I. more SSE3 tests 2020-12-10 12:00:42 +01:00
christophe-lunarg
8ba1d34a9b C.I. Increase configuration converage 2020-12-10 11:38:23 +01:00
christophe-lunarg
41ce855d1e C.I. Updated macOS travis configurations 2020-12-10 11:09:32 +01:00
christophe-lunarg
091ba3f788 C.I. Add coverage for more rescent compilers 2020-12-10 10:32:21 +01:00
christophe-lunarg
d1a585ebf1 C.I. No more SIMD instruction build on GCC 2020-12-10 09:45:00 +01:00
christophe-lunarg
9dca1667fe Merge branch 'master' of github.com:g-truc/glm 2020-12-09 21:44:11 +01:00
christophe-lunarg
bec41ffe51 Fix AVX2 detection 2020-12-09 21:43:38 +01:00
Tom Needham
9da06f73d6
Fix Typo in readme.md
Changed physic to physics
2020-12-09 15:58:26 +00:00
Christophe
d950f17161 C.I.: Reduce number of build 2020-12-08 16:56:39 +01:00
Christophe
a465b0e0d1 C.I. Upgraded osx images 2020-12-08 10:44:14 +01:00
Christophe
ccec730246 C.I. reduced the number of travis configurations 2020-12-08 10:38:54 +01:00
Christophe
15f4a448c4 C.I. fix travis build with Clang 3.6 2020-12-08 09:34:52 +01:00
Christophe
9fcec4bbfa Upgrading Travis C.I. distribution 2020-12-07 22:28:11 +01:00
Christophe
9f3d876120 Upgrading Travis C.I. distribution 2020-12-07 22:13:42 +01:00
Christophe
e5a16329c7 C.I.: Fix Travis C.I. xcode build 2020-12-07 21:12:45 +01:00
Christophe
4c419832a6 C.I.: Fix Travis C.I. xcode build 2020-12-07 20:44:12 +01:00
Gottfried Leibniz
00c4720305 fix: isIdentity for non-symmetric matrices 2020-12-06 11:26:14 -04:00
Christophe
24a4befe80 Fix build 2020-12-01 08:57:06 +01:00
Christophe
e6e73e5e0c Only run Travis C.I. on master branch 2020-12-01 08:43:56 +01:00
Christophe
6dedba1b94
Merge pull request #1044 from g-truc/build_only_master
Build appveyor C.I. only on master branch #1044
2020-11-30 20:31:04 +01:00
Christophe
e011a57cf6
Merge pull request #1043 from g-truc/GLM_EXT_matrix_integer
Added *GLM_EXT_matrix_integer* with tests
2020-11-30 20:30:46 +01:00
Christophe
6c76f78298 Build appveyor C.I. only on master branch 2020-11-30 20:06:23 +01:00
Christophe
561fbbd94c Added *GLM_EXT_matrix_integer* with tests 2020-11-30 18:10:55 +01:00
Christophe
8693d06297 Fix glm::acsch tests 2020-11-26 11:14:54 +01:00
Christophe
db8b101617 verbose 2020-11-24 14:17:07 +01:00
Christophe
5f0baa29b9 Fix build when CMake 2.6 is used not supporting --parallel 2020-11-24 14:13:10 +01:00
Christophe
e24c88cf38 travis ci parallel build and tests 2020-11-24 13:40:21 +01:00
Christophe
2be2119a2b travis ci parallel build and tests 2020-11-24 13:05:18 +01:00
Christophe
315e8d2dba Verbose test 2020-11-24 12:54:17 +01:00
Christophe
03ef41c27a appveyor parallel build and tests 2020-11-24 12:39:54 +01:00
Christophe
25344118d6 appveyor parallel build and tests 2020-11-24 12:35:42 +01:00
Christophe
c31b5aecaa fix reciprocal test 2020-11-24 12:19:30 +01:00
Christophe
da542d6354 fix reciprocal test 2020-11-24 12:12:33 +01:00
Christophe
23dcea8995 Fix warnings 2020-11-24 12:00:31 +01:00
Christophe
f3887d2053 Release not ready yet... 2020-11-23 22:59:00 +01:00
Christophe
2a8664fe50 Added and to *GLM_EXT_scalar_common* and *GLM_EXT_vector_common* 2020-11-23 17:02:32 +01:00
Christophe
c59117ebd0 Updated readme 2020-11-23 16:35:45 +01:00
Christophe
ee96051e86 Updated readme 2020-11-23 16:12:30 +01:00
Christophe
2593c9c8b3 Added GLM_EXT_scalar_reciprocal and GLM_EXT_vector_reciprocal with tests 2020-11-23 15:33:36 +01:00
Christophe
1cf91a1009
Merge pull request #1012 from bosmacs/master
Fix quaternion orientation in `glm::decompose` #1012
2020-11-21 22:27:46 +01:00
Christophe
b033c73b42
Merge pull request #1019 from dscharrer/master
Fix singularity in quaternion to euler angle roll conversion #1019
2020-11-21 22:19:21 +01:00
Christophe
e8f2e98050
Merge pull request #1027 from amaury-ml/ctor_init
Change the logic of defaulted constructors #1027
2020-11-21 22:16:46 +01:00
Christophe
f52f232f59
Merge pull request #1038 from EZForever/patch-angle
fix: glm::angle() discards the sign of result for angles in range (2*pi-1, 2*pi) #1038
2020-11-21 22:06:08 +01:00
Christophe
4ae59db254
Merge pull request #1041 from lpisha/master
Remove ban on using string_cast with CUDA host code #1041
2020-11-21 21:59:09 +01:00
Christophe
5a34b3a2d8
Merge pull request #1040 from RohacekD/patch-constexpr
Adding constexpr qualifiers for dot and cross product #1040
2020-11-20 14:12:20 +01:00
Christophe
97ab936305 Use pull request to contribute 2020-11-20 10:49:26 +01:00
lpisha
051781e265
Remove ban on using string_cast with CUDA host code
string_cast.hpp merely detects whether the current compiler is NVCC (originally based on `if defined(__CUDACC__)` in glm/simd/platform.h) and throws an error if it is. This means string_cast.hpp cannot be included in any header which might ever be used in a CUDA project.

Of course, glm::to_string can't be used in device (GPU) code. However, the current approach to stop this is both incorrect and unnecessary. __CUDACC__ will be defined in both host and device code compilation, and glm::to_string can obviously be used in host code. The correct define is __CUDA_ARCH__ (will be defined only if compiling device code). However, there's no problem if glm::to_string is defined (the header is included) while compiling device code, as long as it's not actually used in the device code. So, throwing an error if __CUDA_ARCH__ is defined would still prevent string_cast.hpp from being included in CUDA projects.

There's actually no need for any manual check to see if glm::to_string is being used in device code, because the compiler will already check for that. It returns a std::string, which itself can't be used in device code, so it's unlikely a developer would try. And if they did, there would be errors that both glm::to_string and all the needed std::string constructors, stream operators, etc. are host-only functions.
2020-11-18 11:09:53 -08:00
RohacekD
ae6fa0872f Adding constexpr qualifier for cross product 2020-11-17 16:58:12 +01:00
RohacekD
6ce6cd9e26 Adding constexpr qualifier for dot product 2020-11-16 20:04:06 +01:00
Christophe
596577f200
Merge pull request #1035 from koladonia/adjugate-fix
Fixed calculation of m02 minor for mat4x4 adjugate #1035
2020-11-09 18:10:54 +01:00
Christophe
2c36db9cf7
Merge pull request #1033 from gottfriedleibniz/patch-fastnormalize
fix: fastNormalize ambiguity #1033
2020-11-09 18:06:07 +01:00
Christophe
f6574ccf71
Merge pull request #1034 from gottfriedleibniz/patch-ismultiple
fix: isMultiple #1034
2020-11-09 17:56:22 +01:00
Christophe
9e1b2dd8bf
Merge pull request #1029 from gottfriedleibniz/patch-quat
fix: missing type_quat header #1029
2020-11-09 17:54:46 +01:00
Christophe
59ae1dd57a
Merge pull request #1030 from gottfriedleibniz/patch-types
fix: spurious floats #1030
2020-11-09 17:53:59 +01:00
Christophe
cc34bc7d49
Merge pull request #1032 from gottfriedleibniz/patch-scalebias
fix: scalebias #1032
2020-11-09 17:52:56 +01:00
Christophe
0fe622b020
Merge pull request #1028 from gottfriedleibniz/patch-axisangle
fix: matrix axisAngle #1028
2020-11-09 17:51:53 +01:00
Christophe
806e05755e
Merge pull request #1036 from Zuzu-Typ/patch-1
Fixed unpackUnorm #1036
2020-11-09 17:49:36 +01:00
EZForever
f109b9185f Make CI happy 2020-10-29 14:02:04 +08:00
EZForever
a66b782134 fix: glm::angle() discards the sign of result for angles in range (2*pi-1, 2*pi) 2020-10-29 13:50:31 +08:00
EZForever
2bb0fb3999 Add test case for glm::angle() sign bug introduced by #946 2020-10-28 17:26:53 +08:00
Zuzu-Typ
b7f209b18d
Fixed unpackUnorm
Should use the same float type as defined in the template.
2020-10-04 14:40:02 +02:00
koladonia
5b23dcab71 Fixed calculation of m02 minor for mat4x4 adjugate 2020-09-30 03:29:31 +03:00
Gottfried Leibniz
ce3650f0f2 fix: isMultiple
Function declaration has it returning ``vec<L, bool, Q>``, however, the
function uses the equality operator (which only returns a bool). Usage of the
function will generate "no viable conversion ..." compilation errors.
2020-09-25 10:58:35 -03:00
Gottfried Leibniz
c00f046c85 fix: fastNormalize ambiguity
Declarations in fast_square_root.hpp do not match qualifiers
fast_square_root.inl; will generate: "call to 'fastNormalize' is ambiguous"
errors.
2020-09-24 11:27:06 -03:00
Gottfried Leibniz
593415108d fix: scalebias
template glm::qualifier 'Q' cannot be inferred; compiler will ignore it.
2020-09-23 22:56:48 -03:00
Gottfried Leibniz
ebf4e9eaa2 fix: unpackUnorm type 2020-09-22 00:40:47 -03:00
Gottfried Leibniz
96558e896b fix: intersectLineTriangle types 2020-09-22 00:37:56 -03:00
Gottfried Leibniz
c18ec93b0e fix: orientate3 types 2020-09-22 00:36:43 -03:00
Gottfried Leibniz
93e573f7b1 fix: axisAngle
invalid epsilon comparison
2020-09-22 00:35:07 -03:00
Gottfried Leibniz
d9124820ed fix: fastExp promotion
implicit conversion increases floating-point precision: 'float' to 'double'
2020-09-22 00:29:59 -03:00
Gottfried Leibniz
ebfcde733a fix: missing type_quat header
Fixes: no matching function for call to 'inverse'
2020-09-22 00:27:32 -03:00
Amaury Le Leyzour
b43fa52360 Change the logic of defaulted constructors
Defaulted functions should not impact the constructor if the user
requests GLM_FORCE_CTOR_INIT.
2020-09-02 11:45:30 -07:00
Christophe
b3f8772026
Merge pull request #1022 from qsantos/fix-small-angle-quaternion-zero-test
Fix handling of small magnitude quaternions #1022
2020-08-30 14:56:02 +02:00
Christophe
45271404e6
Merge pull request #1026 from manylegged/master
make GLM_CONFIG_XYZW_ONLY work with GLM_SWIZZLE_FUNCTION #1026
2020-08-30 14:54:30 +02:00
Christophe
72022c2cf7
Merge pull request #1024 from bjornwah/fix_compiler_warnings
Fix compiler warnings #1024
2020-08-30 14:52:21 +02:00
Christophe
69a3ab22ab
Merge pull request #1025 from waywardmonkeys/fix-opencloth-link
Fix link to opencloth. #1025
2020-08-30 14:51:15 +02:00
Arthur Danskin
2eeb2662a6 spaces->tabs 2020-08-08 17:36:34 -04:00
Arthur Danskin
dc1d613f55 Merge branch 'master' of github.com:manylegged/glm into master 2020-08-08 17:29:57 -04:00
Arthur Danskin
9627450ef8 allow force_xyzw to work with function swizzleing 2020-08-08 17:29:51 -04:00
Bjorn Wahlstrand
6fdeff4d67 Fixed compiler warnings
g++-10.1.0/c++20:

'error: compound assignment with ‘volatile’-qualified left operand is deprecated [-Werror=volatile]'
2020-08-05 15:15:57 -07:00
Bruce Mitchener
e7554a5d88 Fix link to opencloth. 2020-08-04 21:12:00 +07:00
Quentin Santos
d6d272e9a0 Fix handling of small magnitude quaternions
The special case handling in glm::qua::pow is specifically intended for
the case when the magnitude is null. Even for magnitudes smaller than
epsilon, the common formula should be used. Because comparing a
floating-point value by equality triggers a warning through the
-Weveverything setting of clang, it must be selectively disabled for the
condition.
2020-07-28 19:22:10 +02:00
Christophe
2929ad5a66
Merge pull request #1023 from thomasbbrunner/cmake-documentation
Improved documentation on compiling GLM with CMake #1023
2020-07-14 12:32:00 +02:00
Thomas Brunner
c49df617db Improved documentation on compiling GLM with CMake 2020-07-14 00:45:23 +02:00
Christophe
dc2a00e3a8
Merge pull request #1018 from kring/patch-1
Fix a typo in the manual, glm/geometry.hpp -> glm/geometric.hpp #1018
2020-07-09 10:43:04 +02:00
Christophe
6c97378695
Merge pull request #1011 from Bargor/master
Fixed warning when compiling with MSVS in SIMD mode #1011
2020-07-09 10:40:55 +02:00
Christophe
1e0ad71ec7
Merge pull request #1014 from serkan3k/patch-1
Fixed typo in documentation #1014
2020-07-09 10:34:45 +02:00
Christophe
949028f675
Merge pull request #1016 from brunotl/master
neon : fix "unused function" warning #1016
2020-07-09 10:33:29 +02:00
Christophe
5c285ad647
Merge pull request #1020 from r0mai/cpp14-clang
Support clang in C++1z mode #1020
2020-07-09 10:31:57 +02:00
Arthur Danskin
d2ebd5248e make GLM_FORCE_XYZW_ONLY work with GLM_SWIZZLE_FUNCTION 2020-06-29 19:59:41 -04:00
Arthur Danskin
3b3db0fc5a make GLM_CONFIG_XYZW_ONLY work with GLM_SWIZZLE_FUNCTION 2020-06-29 01:54:26 -04:00
Andras Kucsma
82e5f32f04 Support clang in C++1z mode
Certain older clang versions signal C++1z mode by defining
__cplusplus as 201406L. Support this as if it were C++14.

https://github.com/llvm/llvm-project/blob/llvmorg-3.6.2/clang/lib/Frontend/InitPreprocessor.cpp#L374
2020-06-25 15:06:19 +02:00
Daniel Scharrer
dfdeb9b284 Fix singularity in quaternion to euler angle roll conversion 2020-06-24 23:32:48 +02:00
Kevin Ring
4c79cd1781
Fix comment alignment. 2020-06-24 17:26:46 +10:00
Kevin Ring
c80fd556b6
Fix a typo in the manual, glm/geometry.hpp -> glm/geometric.hpp 2020-06-24 17:25:07 +10:00
Bruno de Lacheisserie
a584c01fb5 neon : fix "unused function" warning
static function in header file must have explicit inline specifier.
2020-06-07 12:09:55 +02:00
serkan3k
1f4ef63d00
Fixed typo in documentation
A typo in acos function description is changed.
2020-05-19 22:19:11 +03:00
Craig Bosma
f8bf087caa
Fix quaternion orientation in glm::decompose 2020-05-11 14:33:51 -05:00
Karol Kontny
e9ab34e0f0 Fixed warning when compiling with MSVS in SIMD mode 2020-05-11 15:26:46 +02:00
christophe
23e0701c04 Updated readme and GLM version 2020-05-02 19:00:56 +02:00
christophe
a44e293c40 Reading GLM version in CMake using REGEX on GLM header 2020-05-02 18:32:19 +02:00
Christophe
280ba02382
Merge pull request #1010 from C3NZ/master
Fix the readme example to successfully include `glm::pi` #1010
2020-05-01 10:54:06 +02:00
C3NZ
fc6966be28 [fix] readme to include glm::pi from scalar_constants.hpp and not constants.hpp, which seems to be where pi lives as of latest release. 2020-04-26 12:51:11 -07:00
Christophe
7574b172e9
Merge pull request #1009 from Zuzu-Typ/master
Fixed incorrect assertion for min and max #1009
2020-04-26 13:18:11 +02:00
Zuzu-Typ
b39c3550af Fixed assertion (min, max) 2020-04-23 11:07:14 +02:00
Zuzu-Typ
aa6a2757a5
Merge pull request #1 from g-truc/master
Update from master
2020-04-23 11:04:09 +02:00
Christophe
e944b22f20
Merge pull request #1008 from blat-blatnik/master
Better .natvis file #1008
2020-04-22 19:29:50 +02:00
blat-blatnik
ef44390073
Merge pull request #1 from blat-blatnik/better-natvis
Added features to the .natvis file
2020-04-17 00:37:08 +02:00
blat-blatnik
2cc2c3ae6e
Added features to the .natvis file
I've been using this natvis file in some personal projects that use GLM and I've found it to be very helpful when debugging GLM code.

vectors are displayed in the debugger like this:

glm::vec4 v(1, 2, 3, 4); // [1 2 3 4]

when expanding the view, the debugger will show each individual component, as well as the length of the vector, and hex RGBA code (for float vectors only), like this:

glm::vec4 v(0.5); // [0.5 0.5 0.5 0.5]

[len]   1
[rgba] #7F7F7F7F
x         0.5
y         0.5
z         0.5
w        0.5

Matrices are displayed in row major order when expanded in the debugger like this:

glm::mat4 m = glm::translate(glm::mat4(1), glm::vec3(1, 2, 3));
// [1 0 0 0] [0 1 0 0] [0 0 1 0] [1 2 3 1]

row 1   [1 0 0 1]
row 2   [0 1 0 2]
row 3   [0 0 1 3]
row 4   [0 0 0 1]
columns
  - col 1    [1 0 0 0]
  - col 2    [0 1 0 0]
  - col 3    [0 0 1 0]
  - col 4    [1 2 3 1]

Quaternions are displayed as: w + xi + yj + zk

glm::quat q(1, 2, 3, 4); // 1 + 2i + 3j + 4k

Dual quaternions are displayed as:

glm::dualquat dq(q, q); // [r: 1 + 2i + 3j + 4k] [d: 1 + 2i + 3j + 4k]
2020-04-17 00:35:24 +02:00
christophe
bf71a83494 Updated release date 2020-04-13 19:41:16 +02:00
christophe
b4c5bb6c1a Fixed singularity check for quatLookAt #770 2020-04-12 18:32:33 +02:00
christophe
8aa60bbeff Tentative fix of Clang warnings 2020-04-12 16:33:44 +02:00
christophe
c039ac6eb6 Tentative fix of version test 2020-04-12 16:14:42 +02:00
christophe
ecca935580 Updated readme 2020-04-12 16:09:31 +02:00
christophe
bf44be3105 Fixed invalid line 2020-04-12 16:04:40 +02:00
christophe
488be5b75a Merge branch 'master' of https://github.com/g-truc/glm 2020-04-12 15:59:27 +02:00
christophe
a3e188f946 Fixed grammar #990 2020-04-12 15:27:00 +02:00
Christophe
2a2008df33
Merge pull request #1003 from wojcikt/fix-cmake-config
Fix glmConfig-version.cmake using undefined variable #1003
2020-04-12 14:54:08 +02:00
Tomasz Wójcik
2c84530227 Fix glmConfig-version.cmake using undefined variable 2020-03-17 20:07:08 +01:00
Christophe Riccio
f4c6667347 Fixed unnecessary warnings from matrix_projection.inl #995 2020-03-05 23:46:36 +01:00
Christophe Riccio
2a65978348 Merge branch 'master' of https://github.com/g-truc/glm into matrix-int 2020-03-05 18:52:28 +01:00
Christophe
efbfecab63
Merge pull request #996 from Bargor/quaternion-slerp-multiple-spins
Quaternion slerp overload which interpolates with extra spins #996
2020-03-05 18:51:49 +01:00
Christophe
6b458cb173
Merge pull request #966 from Twinklebear/master
Add Simpler GLM CMake Config #966
2020-03-05 18:47:13 +01:00
Kontny Karol
31d01b525e Quaternion slerp overload which interpolates with extra spins
Signed-off-by: Karol Kontny <barolek@gmail.com>
2020-02-28 00:01:52 +01:00
Will Usher
739a16e6d1 fix travis as well 2020-02-19 09:10:57 -07:00
Will Usher
e6af446716 fix manual glm_DIR mention 2020-02-16 14:38:27 -08:00
Will Usher
681b8badcd Fix appveyor glm_DIR path 2020-02-16 14:37:37 -08:00
Will Usher
4d47b27333 Adjust cmake file paths to match make install for distribution 2020-02-16 14:33:59 -08:00
Will Usher
a331771ea8 Merge remote-tracking branch 'upstream/master' 2020-02-16 14:07:18 -08:00
Christophe Riccio
a4bf8867c2 Added clamp, repeat, mirrorClamp and mirrorRepeat function to GLM_EXT_scalar_commond and GLM_EXT_vector_commond extensions with tests 2020-02-11 12:53:12 +01:00
Christophe Riccio
e8d758f746 Added integer matrix extensions and fixed build 2020-02-11 11:44:52 +01:00
Christophe Riccio
0d9abe3725 Added missing EXT extensions 2020-02-10 21:44:31 +01:00
Christophe Riccio
c4fd0b3aa3 Clean up integer matrix 2020-02-10 20:22:47 +01:00
Christophe Riccio
9e7a486c0e Added matrix integer extensions and tests 2020-02-10 19:06:30 +01:00
Christophe Riccio
684817db46 Clean up integer precision 2020-02-08 16:21:22 +01:00
Christophe Riccio
79d78bbdde Work on integer matrix 2020-02-07 17:45:02 +01:00
Christophe Riccio
6bd53cc9e5 Added files for EXT packing extensions 2020-02-07 15:20:42 +01:00
Christophe Riccio
65c8ff2bd6 Merge branch 'master' of https://github.com/g-truc/glm 2020-02-07 15:19:33 +01:00
Christophe Riccio
00ef7042df Removed duplicated vector 2020-02-07 15:19:14 +01:00
Christophe
6d8b4a11bf
Merge pull request #989 from dorodnic/doc_fix
Fixing output order in the documentation of glm::polar #989
2020-02-07 14:58:50 +01:00
Christophe
82d500376e
Merge pull request #992 from amaury-ml/compfix
[Aarch64] fix for glm::length #992
2020-02-07 14:57:13 +01:00
Amaury Le Leyzour
16a650ea65 [Aarch64] fix for glm::length 2020-02-05 17:48:31 -08:00
Christophe Riccio
8e58cdbbf8 - Added GLM_EXT_vector_intX_sized and GLM_EXT_vector_uintX_sized extensions 2020-02-04 17:11:07 +01:00
dorodnic
56c2cadc4a Fixing output order in the documentation of glm::polar 2020-01-06 22:21:02 +02:00
Will Usher
d773b4453a Merge remote-tracking branch 'upstream/master' 2020-01-05 17:48:47 -07:00
Christophe Riccio
13724cfae6 Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:19:37 +01:00
Christophe Riccio
028b303a65 Fixed CXX tests 2020-01-05 21:14:53 +01:00
Christophe Riccio
79b5197e5d Fixed CXX tests 2020-01-05 21:12:11 +01:00
Christophe Riccio
a68949eba4 Fixed force cxx version tests 2020-01-05 21:09:37 +01:00
Christophe Riccio
2d8ccef1af Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:07:42 +01:00
Christophe Riccio
d92ac09ce2 Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:05:29 +01:00
Christophe Riccio
8381f8e71e Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:02:56 +01:00
Christophe Riccio
3ee3659adb Added force defines tests 2020-01-05 20:57:20 +01:00
Christophe Riccio
85e491b30c Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 20:41:51 +01:00
Christophe Riccio
638eb14fcd - Added GLM_FORCE_QUAT_DATA_WXYZ to store quat data as w,x,y,z instead of x,y,z,w #983 2020-01-05 15:51:05 +01:00
Christophe Riccio
c8440b09e2 Fixed doc theme 2020-01-05 15:27:06 +01:00
Christophe Riccio
af6f1d7b8f Fixed EXT_matrix_clip_space perspectiveFov 2020-01-05 15:26:50 +01:00
Christophe Riccio
436579b37e Fixed Wimplicit-int-float-conversion warnings with clang 10+ #986 2020-01-05 15:13:20 +01:00
Christophe Riccio
016263179c Merge branch 'master' of https://github.com/kraj/glm 2020-01-05 15:08:16 +01:00
Christophe Riccio
de00ac4ef5 Updated tentative release date 2020-01-05 14:46:09 +01:00
Christophe Riccio
4fce0f0de5 Merge branch 'master' of https://github.com/g-truc/glm 2020-01-05 14:44:16 +01:00
Christophe Riccio
a2e2e97a7a Updated license date #984 2020-01-05 14:44:08 +01:00
Will Usher
9934715232 Merge branch 'master' of github.com:Twinklebear/glm 2020-01-01 13:15:17 -08:00
Will Usher
6f26ac3ada Merge remote-tracking branch 'upstream/master' 2020-01-01 13:06:33 -08:00
Khem Raj
d2b9bbb911 Fix Wimplicit-int-float-conversion warnings with clang 10+
This is a new warning in clang which will be available in clang 10
onwards

Fixes
error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]
2019-12-27 18:44:52 -08:00
Christophe
8828c3f1fd Fixed GLM_EXT_matrix_clip_space warnings #980 2019-12-09 14:21:08 +01:00
Christophe
d666b5e533
Merge pull request #976 from amaury-ml/compfix
Fixing minor issues reported by the compiler #976
2019-11-29 11:24:25 +01:00
Amaury Le Leyzour
9da0c80e26 Yet another fix as this is no longer covered by unit tests 2019-11-21 13:03:22 -08:00
Amaury Le Leyzour
c7dbbee6a1 Fix typo 2019-11-20 09:05:39 -08:00
Amaury Le Leyzour
923f7222d1 Fix Neon issues 2019-11-19 18:26:16 -08:00
Amaury Le Leyzour
9ce038104c Fixing minor compiler issue 2019-11-19 17:30:57 -08:00
Christophe
8a34283c87
Merge pull request #972 from amaury-ml/mat4/inverse
glm-aarch64: Add neon's mat4 inverse #972
2019-11-16 15:11:01 +01:00
Amaury Le Leyzour
77d797bd54 respect project's coding style 2019-11-12 15:49:26 -08:00
Amaury Le Leyzour
a2403634da glm-aarch64: Add neon's mat4 inverse 2019-11-12 15:41:53 -08:00
Christophe Riccio
7eb810be81 Added C++14 and C++17 specific tests 2019-11-06 15:06:47 +01:00
Christophe Riccio
2a3894f9df Added C++14 and C++17 specific tests 2019-11-06 15:04:34 +01:00
Christophe Riccio
3da0e18de7 Added missing quat constexpr #955 2019-11-06 15:03:32 +01:00
Christophe Riccio
95b1cdbbfe Added fma implementation based on std::fma #969 2019-11-06 10:57:35 +01:00
Christophe Riccio
338bdead48 Fixed readme 2019-11-02 16:55:52 +01:00
Christophe Riccio
9caadbdf86 Added CMake GLM interface #963 2019-11-02 16:47:21 +01:00
Christophe Riccio
a4b4db24bd Fixed test target 2019-11-02 16:34:18 +01:00
Christophe Riccio
919e72f5dd Fixed equal ULP variation when using negative sign #965 2019-11-02 12:46:15 +01:00
Christophe Riccio
11089f6d7e Move CMake tests configuration in the test directory CMakeLists.txt 2019-11-02 11:57:42 +01:00
Christophe
46670b794b
Merge pull request #963 from kiroma/master
Re-add the glm interface library in cmake #963
2019-11-02 11:27:28 +01:00
Christophe
c11944cf02
Merge pull request #950 from amaury-ml/neon-func
More simd/Neon functions #950
2019-11-02 11:17:26 +01:00
Christophe
1e971676ca
Merge pull request #964 from tnixeu/use_all_variables
Use all variables in core_func_common test #964
2019-11-02 10:25:33 +01:00
Will Usher
224433b9ae Add a CMake Package config
- Also fix clang 7 use on travis CI
2019-11-01 21:05:44 -06:00
Will Usher
15158e8aa9 Add a CMake Package config 2019-11-01 16:40:45 -06:00
tnixeu
49d89a0009 uses all variables in test 2019-10-26 14:58:56 +02:00
Krzysztof Kurek
11b88192e8
Actually fix the tests 2019-10-17 16:41:13 +02:00
Krzysztof Kurek
75c5e6e0b2
Un-breakify tests 2019-10-16 17:03:31 +02:00
Krzysztof Kurek
e791090589
Re-add the glm interface library in cmake
Also re-work the main cmakelists to make the project more easily embeddable
2019-10-15 14:49:30 +02:00
Christophe
ea678faff9
Merge pull request #953 from sma-github/ray-plane-intersection
bugfix for intersection ray/plane, added related tests #953
2019-09-30 09:57:37 +02:00
Amaury Le Leyzour
8a173352e4 More simd/Neon functions 2019-09-18 09:47:57 -07:00
Amaury Le Leyzour
88a7aee27b More simd/Neon functions 2019-09-17 16:16:38 -07:00
Stefan Maass
e7d51a3838 bugfix intersection ray/plane, added related tests 2019-09-14 23:38:44 +02:00
Christophe
7c07544b34
Merge pull request #952 from UniQP/fixReturnValue
Let test return the number of errors #952
2019-09-12 21:42:51 +02:00
Christophe
4ff530b2a5
Merge pull request #949 from amaury-ml/neon
Fix Arm 64bit detection #949
2019-09-12 12:59:33 +02:00
Sebastian Buchwald
7b06a984af Let test return the number of errors 2019-09-11 19:12:39 +02:00
Amaury Le Leyzour
9b0a0535ce Fixing GLM_MODEL for Windows compilers targeting ARM 2019-09-10 11:28:50 -07:00
Amaury Le Leyzour
e508cc604f More simd/Neon functions 2019-09-10 10:55:59 -07:00
Amaury Le Leyzour
c35bc3d576 Fix Arm 64bit detection
__aarch64__ is the correct way, __arm64__ is for iOS.
But the memory model does not need any of these architecture defines to be fully
relevant. __LP64__ means Long Pointer 64 (ie 64bits), and __ILP32__ is Integer Long Pointer 32 (ie 32bits).
That's enough and avoids errors like __arch64__ (correct way is __aarch64__) but forgets __arm64__ (iOS).
2019-09-10 10:44:45 -07:00
Christophe
5868657413
Merge pull request #946 from qsantos/patch-1
Fix loss of precision on small angles in qua's pow #946
2019-09-09 12:31:24 +02:00
Christophe
4179da9d29
Merge pull request #948 from vkhandus/patch-1
Request to update licence. #948
2019-09-09 12:28:42 +02:00
Vadim Khandus
ead9a9104a
Request to update licence.
It is not clear if the software is licensed by either MIT or Happy Bunny or BOTH by MIT and Happy Bunny.

In the official website ( https://glm.g-truc.net/0.9.9/index.html ) I notice "OR":
"The source code and the documentation, including this manual, are licensed under the Happy Bunny License (Modified MIT) or the MIT License."
Also, there is "OR" in the readme.md ( https://github.com/g-truc/glm )
"The source code and the documentation are licensed under both the Happy Bunny License (Modified MIT) or the MIT License."
2019-09-09 13:21:30 +03:00
Quentin Santos
3a41107d10 Fix precision loss on small angles in qua's angle 2019-09-08 18:31:50 +02:00
Quentin Santos
c597094980 Fix precision loss on small angles in qua's pow 2019-09-08 18:31:50 +02:00
Christophe Riccio
4db8f89aac Fixed quaternion array access #942 2019-09-08 15:58:42 +02:00
Christophe Riccio
9ffa3f8a3d Added GLM 0.9.9.6 release version in release notes 2019-09-07 22:51:46 +02:00
Christophe Riccio
73df95205f Fixed doxygen doc 2019-09-07 17:39:53 +02:00
Christophe Riccio
50dfd18b91 Updated API doc 2019-09-07 17:38:31 +02:00
Christophe Riccio
b8e5f55368 Added missing genType check for bitCount and bitfieldReverse #893 2019-09-07 14:54:21 +02:00
Christophe Riccio
f4b3fc7733 Added missing genType check for bitCount and bitfieldReverse #893 2019-09-07 14:53:58 +02:00
Christophe Riccio
bfa028ed13 Fixed build 2019-09-07 14:34:49 +02:00
Christophe Riccio
943529eef6 Fixed CUDA 9 build #910 2019-09-07 14:32:06 +02:00
Christophe Riccio
7565378ef7 Only test in 32 bits with VC 2019 2019-09-07 14:19:09 +02:00
Christophe Riccio
5f352ecce2 Removed CMake install and uninstall scripts 2019-09-07 14:13:56 +02:00
Christophe Riccio
2bd4217685 Fixed build 2019-09-07 14:09:36 +02:00
Christophe Riccio
a5fd70aed8 Fixed Clang or GCC build due to wrong GLM_HAS_IF_CONSTEXPR definition #907 2019-09-07 13:52:41 +02:00
Christophe Riccio
61b2a73e21 Fixed missing std:: namespace #898 2019-09-07 13:41:08 +02:00
Christophe Riccio
823125a6cd Fixed script 2019-09-07 13:24:51 +02:00
Christophe Riccio
2e25674af5 Updated configuration list 2019-09-07 12:43:24 +02:00
Christophe Riccio
8a6b928478 Reduced number of configuration 2019-09-07 12:28:35 +02:00
Christophe Riccio
35a4c01e7a Added Visual Studio 2019 testing 2019-09-07 12:25:06 +02:00
Christophe Riccio
9d18fc8221 Fixed warning 2019-09-07 12:21:47 +02:00
Christophe Riccio
3bec6f1801 Updated XCode version tested, 6.4 is deprecated 2019-09-07 12:19:42 +02:00
Christophe Riccio
87bed133e7 Fixed warning 2019-09-07 12:15:00 +02:00
Christophe Riccio
9ca99751f0 Merge branch 'master' of https://github.com/g-truc/glm 2019-09-07 11:16:41 +02:00
Christophe Riccio
247beeb5bf Bring back quaternion to xyzw storage to remain backward compatible #942 2019-09-07 11:16:05 +02:00
Christophe
bd32be3ebd
Merge pull request #928 from l90lpa/lMaxNorm-proposal
L max norm proposal #928
2019-09-07 11:10:10 +02:00
Christophe Riccio
9a32317065 - Added Neon support to glm #945 2019-09-07 11:08:20 +02:00
Christophe Riccio
d2c60e08c0 Merge branch 'neon' of https://github.com/amaury-ml/glm 2019-09-07 11:06:19 +02:00
Christophe Riccio
79787bbff6 Fixed GLM_HAS_CXX11_STL broken on Clang with Linux #926 2019-09-07 10:51:19 +02:00
Christophe Riccio
0d0638e7e7 Bring back quaternion to xyzw storage to remain backward compatible #942 2019-09-07 10:40:06 +02:00
Christophe Riccio
6ec2354cae Tentative fix of travis 2019-09-07 10:36:31 +02:00
Christophe Riccio
3d833fe20a Fixed Clang build 2019-09-07 10:06:25 +02:00
Christophe Riccio
4446f783d4 Updated Travis CI to use Clang 7 2019-09-07 08:52:27 +02:00
Amaury Le Leyzour
d2aa30fe92 Remove debug warnings 2019-09-03 10:14:30 -07:00
Amaury Le Leyzour
cd3cc166b4 Add Neon to glm
A few simple functions that use Neon as compiler does not
use the full potential of Neon
For now, -DGLM_FORCE_NEON is required until it's the default
2019-08-28 11:30:40 -07:00
Liam
2c3bdccb01
Merge branch 'master' into lMaxNorm-proposal 2019-08-25 09:03:13 +01:00
Christophe
ca52121e1b
Merge pull request #937 from pierremoreau/fix_documenation_typo
Fix typo in Doxygen documentation #937
2019-08-19 22:47:47 +02:00
Christophe
7fe0849277
Merge pull request #938 from pierremoreau/add_missing_keyword_symbol
Add missing '@' in the documentation #938
2019-08-19 22:46:26 +02:00
Pierre Moreau
5bbbb460d3
Add missing '@' in the documentation
"param" was not being recognised as a keyword, messing up the layout of
`glm::rotation()`'s parameter description.
2019-08-08 12:20:23 +02:00
Pierre Moreau
6b1e7c6418
Fix typo in Doxygen documentation
Replaced "documenation" with "documentation".
2019-08-08 12:01:39 +02:00
Christophe
67d647ae46 Fixed version 2019-08-08 11:25:08 +02:00
Christophe
163f0d162d Tentative fix build 2019-08-08 11:09:59 +02:00
Christophe
29987a3100 Fixed prevPowerOfTwo build 2019-08-08 10:51:19 +02:00
Christophe
8bf26a2bb3 Fixed C++ 98 build 2019-08-07 15:00:50 +02:00
Christophe
a87784c125 Fixed C++98 build 2019-08-07 14:25:12 +02:00
Christophe
22af215da4 Merge branch 'master' of https://github.com/g-truc/glm 2019-08-07 14:13:16 +02:00
Christophe
1e2972f2d7
Merge pull request #933 from Hinara/patch-1
Fix compilation under xcode 6.4 #933
2019-08-07 14:12:43 +02:00
Christophe
083dfdcb91 Fixed build 2019-08-07 14:11:22 +02:00
Christophe
1e558b21c6
Merge pull request #932 from ClobberXD/patch-1
Delete .vscode/settings.json #932
2019-08-07 13:51:40 +02:00
Christophe
23b184f64d
Merge pull request #927 from l90lpa/fix-lxNorm
Fix lx norm #927
2019-08-07 13:49:34 +02:00
Christophe
e620adac1b Fixed build 2019-08-07 13:46:52 +02:00
Christophe
7cb9607ffb Fixed quaternion initialization 2019-08-07 13:39:36 +02:00
Hinara
163b57c319
Fix compilation under xcode 6.4 2019-07-29 17:21:44 +02:00
ANAND
3fe07c3cda
Delete .vscode/settings.json 2019-07-27 11:09:57 +05:30
Liam Adams
a78024d2bf Add testing of lMaxNorm. 2019-07-20 08:02:09 +01:00
Liam Adams
2400954df2 Add lMaxNorm for computing the max norm. 2019-07-20 08:01:59 +01:00
Liam Adams
8f7d378116 Add testing of lxNorm. 2019-07-20 07:36:02 +01:00
Liam Adams
7d20bc8104 Take the absolute vaue of the components to avoid possible negative norm values. 2019-07-19 17:53:19 +01:00
Christophe
947527d3ac Fixed string_cast, broken after fixing #916 2019-07-12 23:11:27 +02:00
Christophe
69622b2954 Fixed perf test results 2019-07-12 22:59:18 +02:00
Christophe
cb9cd7ccb8 Fixed GTC_round build 2019-07-12 22:20:57 +02:00
Christophe
2423d607fe Fixed GCC warning about member initialization order 2019-07-12 22:11:42 +02:00
Christophe
4074dfcf07 Added findNSB functions and tests 2019-07-12 21:50:30 +02:00
Christophe
72f776b280 Fixed build 2019-07-12 19:40:59 +02:00
Christophe
9fbd011cab Fixed merge 2019-07-12 19:24:04 +02:00
Christophe
f5381ef536 Fixed quaternion componant order: w, {x, y, z} #916 2019-07-12 19:19:10 +02:00
Christophe
3a65b7a628 Completed EXT_*_integer extensions 2019-07-12 18:46:08 +02:00
Christophe
3288df2f89 Added EXT_vector_integer test 2019-07-12 15:44:17 +02:00
Christophe
27b622e968 Merged master 2019-07-11 16:13:23 +02:00
Christophe
8c5fde6c8f Updated 0.9.9.6 release note 2019-07-11 16:08:18 +02:00
Christophe
4fc28977d6
Merge pull request #920 from inviwo/feature/hash-qua
Hash hashes qua instead of tquat closes #919 #920
2019-07-09 13:46:47 +02:00
Christophe
513af73cc4
Merge pull request #921 from inviwo/feature/gcc6-standard-version
Fix for g++6 where -std=c++1z sets __cplusplus to 201500 instead of 201402 #921
2019-07-09 13:45:53 +02:00
Christophe
867a40acf5
Merge pull request #922 from karjonas/gcc_if_constexpr
Fix gcc if constexpr error #922
2019-07-09 13:45:02 +02:00
Jonas Karlsson
81dfda4cf3 Fix gcc if constexpr error
Check against __cplusplus version instead of compiler version. This fixes compilation errors when using an older cpp standard version with a newer gcc compiler. This flag requires GCC 4.7 or greater.
2019-07-03 09:47:14 +02:00
Peter Steneteg
598a3dc7b7 Fix for g++6 where -std=c++1z sets __cplusplus to 201500 instead of 201402 2019-06-26 12:49:39 +02:00
Peter Steneteg
9a1f85ae79 Hash hashes qua instead of tquat closes #919 2019-06-26 12:48:40 +02:00
Christophe
f920ffabb2
Merge pull request #900 from mmha/cmake-arch-independent-package
Remove architecture check from CMake package #900
2019-06-21 16:18:46 +02:00
Christophe
1a2d6cba99
Merge pull request #902 from Zuzu-Typ/master
Fixed typo #902
2019-06-21 16:18:02 +02:00
Christophe
ab45359c36
Merge pull request #903 from Zuzu-Typ/ext_vector_double1
Fixed typos #903
2019-06-21 16:17:44 +02:00
Christophe
5726c5ce71
Merge pull request #904 from Zuzu-Typ/gauss_rand
Silence C4244 warning #904
2019-06-21 16:17:15 +02:00
Christophe
7d6145ea3d
Merge pull request #908 from Zuzu-Typ/2019-06-03-09-25
Fixed copy and paste errors #908
2019-06-21 16:16:32 +02:00
Christophe
6cd38b9b02
Merge pull request #914 from rhoarau/sycl
SYCL support #914
2019-06-21 16:15:54 +02:00
Christophe
c2b1d6fdb1
Merge pull request #915 from silvesthu/master
Fix .natvis as structs renamed #915
2019-06-21 16:15:20 +02:00
Ken Hu
3d9bec8d2b Fix .natvis as structs renamed 2019-06-18 00:04:55 +09:00
rhoarau
2a8822865c Fix typos and code style (space to tab). 2019-06-16 13:33:02 +02:00
rhoarau
1079444f7e Remove a preprocessor debug message and correct the readme 2019-06-09 17:25:43 +02:00
rhoarau
8fb71ffd07 Initial SYCL support:
The core and some ext functions should work.
2019-06-09 16:05:09 +02:00
Zuzu-Typ
537bc3a1d1 Fixed typo
Wrong title of GLM_GTC_round
2019-06-03 14:35:04 +02:00
Zuzu-Typ
b15bbffe5a Update packing.hpp 2019-06-03 09:29:32 +02:00
Zuzu-Typ
bc70a03adc Use static_cast instead of C-style 2019-05-29 12:20:11 +02:00
Zuzu-Typ
a201957cf9 Silence C4244 warning
Silenced a C4244 warning in gaussRand.
2019-05-28 16:10:58 +02:00
Zuzu-Typ
2800604781 Fixed typo 2019-05-28 16:02:22 +02:00
Zuzu-Typ
24c0d923b0 Fixed typo 2019-05-23 20:36:26 +02:00
Morris Hafner
3a53ea1f69 Remove architecture check from CMake package 2019-05-20 21:59:43 +01:00
Christophe Riccio
9c831a1a76 Added performance tests 2019-05-03 18:24:49 +02:00
Christophe Riccio
a91fb705db Added EXT_vector_integer extension 2019-04-26 19:01:12 +02:00
Christophe Riccio
07c6d56b5f Added initial work for integer vector and scalar functions 2019-04-26 18:32:06 +02:00
Christophe
fce2abd01c
Merge pull request #889 from jforberg/copying
Add copying.txt as a separate file #889
2019-04-22 12:39:09 +02:00
Christophe
f420e483b6
Merge pull request #895 from Zuzu-Typ/master
Fixed ldexp and frexp declaration #895
2019-04-22 12:38:07 +02:00
Christophe
d5760d9cd0
Merge pull request #890 from oliver-om/qua_conversion_const
Add const to quaternion conversion operators #890
2019-04-22 12:34:55 +02:00
Christophe
9f34f04928
Merge pull request #892 from andoalon/patch-1
Fix typo in 'pi()' #892
2019-04-22 12:34:08 +02:00
Zuzu-Typ
a66068f7ef Fixed ldexp and frexp declaration 2019-04-10 21:27:05 +02:00
andoalon
0053354086
Fix typo in 'pi()' 2019-04-08 12:41:27 +02:00
Oliver Whyte
fe6fb29107 Add const to quaternion conversion operators 2019-04-05 11:27:00 -07:00
Johan Förberg
347f422b9f Add copying.txt as a separate file
This helps GLM fit into build systems which expect the license to be
contained in a single distinct file.

The file was downloaded from https://glm.g-truc.net/copying.txt
2019-04-05 12:23:20 +02:00
Christophe Riccio
13d2cea73f Added 2019-04-04 14:01:05 +02:00
Christophe Riccio
229b762c31 Added Visual C++ 2019 detection 2019-04-04 12:24:02 +02:00
Christophe Riccio
d162eee1e6 Fixed GLM version 2019-04-02 11:28:25 +02:00
Christophe
1498e094b9
Merge pull request #887 from timmmeh/master
'if constexpr' warning (c++17) #887
2019-04-01 17:00:59 +02:00
Christophe
3de80d2b31
Merge pull request #886 from Zuzu-Typ/master
Forward declaration of frexp and ldexp #886
2019-04-01 16:59:07 +02:00
Christophe
d92e83c91f
Merge pull request #882 from ddovod/fixing_macro_redefined
Fixing 'GLM_ENABLE_EXPERIMENTAL macro redefined' warning #882
2019-04-01 16:56:08 +02:00
Christophe Riccio
f846aa8334 Build errors when defining GLM_ENABLE_EXPERIMENTAL #884 #883 2019-04-01 16:04:04 +02:00
Tim R
f0685972f1
Update setup.hpp 2019-04-01 00:26:04 -07:00
Tim R
2877c42a36
Update setup.hpp 2019-03-31 18:00:30 -07:00
Tim R
fe6c08ea10
Update setup.hpp 2019-03-31 17:47:11 -07:00
Tim R
a03e1fc8f4
Update setup.hpp 2019-03-31 16:53:40 -07:00
Tim R
cf74190dfd
Update setup.hpp 2019-03-31 15:06:44 -07:00
Tim R
80679fd523
Update matrix_clip_space.inl 2019-03-31 15:02:54 -07:00
Tim R
0bb41224f3
Update matrix_transform.inl 2019-03-31 15:01:13 -07:00
Tim R
94f685c111
Update setup.hpp 2019-03-31 15:00:24 -07:00
Tim R
b0f6910f0c
Update setup.hpp 2019-03-31 14:14:10 -07:00
Tim R
e4ab1096ce
Update matrix_clip_space.inl 2019-03-31 13:11:56 -07:00
Tim R
59f2c2d50e
Update matrix_transform.inl 2019-03-31 13:11:08 -07:00
Tim R
658bbdb525
Update setup.hpp
Enable 'if constexpr' when c++17
2019-03-31 13:08:57 -07:00
Tim R
503a22960a
constexpr warning
Removes warning: conditional expression is constant, consider using 'if constexpr' statement instead
2019-03-31 12:21:20 -07:00
Tim R
8755be56d6
Update matrix_transform.inl 2019-03-31 12:15:15 -07:00
Zuzu-Typ
b76297c8ff Forward declaration of frexp and ldexp 2019-03-31 18:29:56 +02:00
ddovod
81db9eb8c9 Fixing 'GLM_ENABLE_EXPERIMENTAL macro redefined' warning 2019-03-28 13:24:35 +03:00
Christophe Riccio
658d8960d0 Prepare GLM 0.9.9.4 release 2019-03-19 18:22:08 +01:00
Christophe
254c91a14a
Merge pull request #879 from g-truc/revert-878-master
Revert "CMakeLists.txt: remove libraries" #879
2019-03-13 11:37:17 +01:00
Christophe
ca8372490e
Revert "CMakeLists.txt: remove libraries" 2019-03-13 11:36:50 +01:00
Christophe Riccio
5a5a0a88b0 Allow to browse GLM source 2019-03-13 09:44:10 +01:00
Christophe
a116ea1179
Merge pull request #878 from ffontaine/master
CMakeLists.txt: remove libraries #878
2019-03-13 09:23:57 +01:00
Fabrice Fontaine
3b798fe06b CMakeLists.txt: remove libraries
glm is a heaser-only library, libraries are not needed

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-03-12 13:23:18 +01:00
Christophe
4adf2fb1fa
Merge pull request #874 from kraj/master
glm: Remove redundant double semi-colons #874
2019-03-04 10:24:48 +01:00
Khem Raj
1150952697 glm: Remove redundant double semi-colons
Make clang happy
/glm/gtc/../ext/../detail/../simd/common.h:106:45: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
|         glm_vec4 const or0 = _mm_or_ps(and0, and1);;
|                                                    ^
| 1 error generated.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-01 11:13:28 -08:00
Christophe Riccio
477e803f38 - No more requirement for GLM_ENABLE_EXPERIMENTAL to use GTX extension, only a warning with GLM_MESSAGES defined #732 2019-03-01 18:25:15 +01:00
Christophe Riccio
ab16f2d230 Updated release note #865 2019-03-01 15:59:10 +01:00
Christophe Riccio
3c28cc459a Improved documentation #836 2019-03-01 15:55:10 +01:00
Christophe Riccio
c142d46ca3 Fixed glm::decompose #869 2019-03-01 15:50:44 +01:00
Christophe Riccio
04af69386d Updated release note 2019-03-01 12:52:34 +01:00
Christophe
ebdc1cb9d2
Merge pull request #867 from SuperSodaSea/master
Remove duplicate calculations #867
2019-03-01 12:47:20 +01:00
Christophe
a40bd4d01c
Merge pull request #871 from ffontaine/master
CMakeLists: add BUILD_{SHARED,STATIC}_LIBS options #871
2019-03-01 12:40:06 +01:00
Christophe Riccio
6492c8593f - Added mix implementation for matrices in EXT_matrix_common #842 2019-03-01 12:33:09 +01:00
Christophe Riccio
96e7eb52ac Fixed build 2019-03-01 12:06:17 +01:00
Christophe Riccio
f30db00b74 Fixed int8 being defined as unsigned char with some compiler #839 2019-03-01 11:42:20 +01:00
Christophe Riccio
daf14f0f74 Added bitfieldRotate tests #862 2019-03-01 11:33:32 +01:00
Christophe Riccio
6b62e66a7d Fixed mix implementation to improve GLSL conformance #866 2019-03-01 11:20:01 +01:00
Christophe Riccio
8e7d0c307c Fixed constexpr issue on GCC #832 2019-03-01 11:03:17 +01:00
Christophe Riccio
768dad4df0 Fixed constexpr with GCC 2019-03-01 11:01:45 +01:00
Fabrice Fontaine
efd91329ba CMakeLists: add BUILD_{SHARED,STATIC}_LIBS options
Add BUILD_SHARED_LIBS and BUILD_STATIC_LIBS options to allow the user
to enable/disable building of shared and static library

This is especially useful when cross-compiling as some toolchains are
not always able to build a shared or a static library

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-02-17 00:06:35 +01:00
SuperSodaSea
89a4d957e9 Remove duplicate calculations
In inverseTranspose(mat<4, 4, T, Q>), SubFactor07 is the same as SubFactor11. Remove it.
2019-02-04 13:37:54 +08:00
Christophe
7590260cf8
Merge pull request #859 from maniatic0/master
Fix for GLM_HAS_CXX11_STL detection #859
2019-01-22 13:50:54 +01:00
Christian Oliveros
3125f83f16
Fix for GLM_HAS_CXX11_STL detection
Fix to the bug with the GLM_HAS_CXX11_STL detection using Clang and VS Toolchain on Windows due to the lack of libc++ on Windows.
2019-01-17 10:51:12 -04:00
Christophe
8cd6db11cd
Merge pull request #856 from scheibel/patch-1
Add missing include to vec1 #856
2019-01-15 20:43:44 +01:00
Willy Scheibel
1d757f5347
Add missing include to vec1 2019-01-11 22:53:29 +01:00
Christophe Riccio
ef9d65e0c6 Added GLM_FORCE_INTRINSICS define 2019-01-11 12:58:31 +01:00
Christophe
47031aa4b7
Merge pull request #848 from c0nd3v/master
Omitted .vscode #848
2018-12-30 14:42:50 +01:00
Connor Roberts
73bd4baac1 Omitted .vscode 2018-12-10 14:39:32 -05:00
Christophe
437a131adb
Merge pull request #837 from tim3385/master
The title of 5.2 in content is wrong. "GPU=>GLU" #837
2018-11-29 15:35:27 +01:00
houstond
69271c117c The title of 5.2 in content is wrong. "GPU=>GLU" 2018-11-24 02:25:18 +08:00
Christophe
ddebaba033
Merge pull request #831 from MrVallentin/typos
Fixed typos #831
2018-11-05 20:08:16 +01:00
Christophe Riccio
cc80d7674b Fixed in mat4x3 conversion #829 2018-11-05 20:03:55 +01:00
MrVallentin
a8953c672f Fixed typos 2018-11-05 13:47:57 +01:00
Christophe Riccio
9749727c2d Fixed refract for negative 'k' #808 2018-10-31 14:16:28 +01:00
Christophe Riccio
3ffcfb8f12 Fixed implicit conversion on Clang Android #824 2018-10-24 14:57:40 +02:00
Christophe Riccio
980dfabcd7 Added message for GLM_SWIZZLE deprecation 2018-10-24 14:54:12 +02:00
Christophe
b8ee874742
Merge pull request #821 from cdwfs/silent-padding-warning
Suppress warning on aligned vec3 when GLM_FORCE_SILENT_WARNINGS is used. Fixes #822 #821
2018-10-17 00:46:27 +02:00
Cort Stratton
eaca81874f Suppress struct-padding warning on vec3s with GLM_CONFIG_ALIGNED_GENTYPES + GLM_CONFIG_SILENT_WARNINGS 2018-10-09 13:13:39 +02:00
Cort Stratton
7d527af1ec Minor formatting changes for existing messages (add trailing periods) 2018-10-09 13:12:24 +02:00
Cort Stratton
fd00b057da Add message when GLM_FORCE_DEFAULT_ALIGNED_GENTYPES is defined and enabled 2018-10-09 13:12:01 +02:00
Christophe
6f6f4d3ae8
Merge pull request #818 from hkr/bitfieldInsert
Fix bitfieldInsert according to GLSL spec #818
2018-10-08 12:22:08 +02:00
Florian Penzkofer
d0ae3f966e Fix bitfieldInsert according to GLSL spec
"bitfieldInsert inserts the bits least significant bits of insert into base at offset offset..."
2018-10-04 17:23:44 -05:00
Christophe Riccio
77ce9b5b29 Tentative fix of GCC 6 tests 2018-10-01 14:19:08 +02:00
Christophe Riccio
abff0a39ac Fixed build 2018-10-01 11:23:26 +02:00
Christophe Riccio
3d26f49775 Added GLM_FORCE_ALIGNED_GENTYPES to enable aligned types and SIMD instruction are not enabled. This disable constexpr #816 2018-09-30 21:52:09 +02:00
Christophe Riccio
68c7e7e50b Tentative fix constexpr with GCC 2018-09-30 11:07:11 +02:00
Christophe Riccio
81d626daf6 Added test for #764 2018-09-27 21:22:07 +02:00
Christophe Riccio
d1487eec8e Fixed build 2018-09-27 11:44:08 +02:00
Christophe Riccio
3b607947a7 Merge branch 'dev' of https://github.com/g-truc/glm into dev 2018-09-27 11:40:16 +02:00
Christophe Riccio
1362d51967 Added adjugate functions to GTX_matrix_operation #151 2018-09-27 11:39:52 +02:00
Christophe Riccio
d3282d8177 Fixed build 2018-09-26 23:31:12 +02:00
Christophe Riccio
d884410781 Fixed build 2018-09-26 22:50:00 +02:00
Christophe Riccio
a30dc0f6f5 Fixed build 2018-09-26 22:43:34 +02:00
Christophe Riccio
76683aa287 Added vector ulp functions 2018-09-26 18:27:55 +02:00
Christophe Riccio
32573c86ec Fixed double tests 2018-09-26 15:08:04 +02:00
Christophe Riccio
e259e2789d Fixed double tests 2018-09-26 14:52:55 +02:00
Christophe Riccio
84d5e96144 Clean up dead files 2018-09-26 12:51:51 +02:00
Christophe Riccio
21d0092f6a Fixed simplex noise build with double #734 2018-09-26 12:51:31 +02:00
Christophe Riccio
9b0434255f Deleted useless file 2018-09-26 12:12:48 +02:00
Christophe Riccio
3a392ec09b Added constant time ULP distance between float #121 2018-09-26 12:09:28 +02:00
Christophe Riccio
59cae7b5cb Added constant time ULP distance between float #121 2018-09-26 12:09:06 +02:00
Christophe Riccio
0f4a597f10 Added matrix relationak function taking ULPs 2018-09-25 15:05:55 +02:00
Christophe Riccio
6b622f2ed4 Tentative fix of GCC build 2018-09-24 11:08:09 +02:00
Christophe Riccio
906efb8045 Fixed VC2013 build 2018-09-21 15:36:01 +02:00
Christophe Riccio
d5df61aa66 Fixed tests 2018-09-21 15:25:54 +02:00
Christophe Riccio
635ff4ef2d Added GLM_FORCE_SILENT_WARNINGS to silent GLM warnings when using language extensions but using W4 or Wpedantic warnings #814 #775 2018-09-18 22:35:28 +02:00
Christophe Riccio
b2a7f1093c Added vector retionnal with max ULPs arguments and fixed double support 2018-09-17 19:06:02 +02:00
Christophe Riccio
311f59ed7e Added vector retionnal with max ULPs arguments 2018-09-17 18:46:02 +02:00
Christophe Riccio
e5d6b1c64b Merged master 2018-09-17 11:48:15 +02:00
Christophe Riccio
770498a407 updated GLM version for future GLM 0.9.9.3 2018-09-14 13:28:24 +02:00
Christophe Riccio
21a30e1116 Updated readme for GLM 0.9.9.2 release 2018-09-14 13:12:40 +02:00
Christophe Riccio
9c8a348e21 Clean up test 2018-09-14 11:21:30 +02:00
Christophe Riccio
fe83040cbd Fixed default initialization with vector and quaternion types using GLM_FORCE_CTOR_INIT #812 2018-09-10 15:45:01 +02:00
Christophe Riccio
72327cea4f Added equal and notEqual overload with max ULPs parameters for scalar numbers #121 2018-09-04 02:14:48 +02:00
Christophe Riccio
cf6504b65e Fixed GLM_FORCE_CXX** section in the manual 2018-09-03 23:53:45 +02:00
Christophe Riccio
416fa93e42 Added PDF manual 2018-09-03 23:15:27 +02:00
Christophe Riccio
fc4350f28f Updated image color theme 2018-09-03 11:37:05 +02:00
Christophe Riccio
86d812d3e9 Removed tabs.css 2018-09-03 00:00:43 +02:00
Christophe Riccio
0c2e470baf Updated API doc 2018-09-02 23:34:18 +02:00
Christophe Riccio
49b508a1ab Updated doxygen API documentation 2018-08-31 21:32:56 +02:00
Christophe Riccio
9dcdae8e8f Updated doxygen API documentation 2018-08-31 20:46:32 +02:00
Christophe Riccio
0b974f0d00 Improved doxygen API doc 2018-08-31 20:23:27 +02:00
Christophe Riccio
f6be32ed0d Completed manual for GLM 0.9.9.1 2018-08-31 19:02:16 +02:00
Christophe Riccio
1ff9f236d2 Merge branch 'master' of https://github.com/g-truc/glm 2018-08-31 18:50:08 +02:00
Christophe Riccio
c334499931 Fixed Clang 3.6 build 2018-08-31 18:49:53 +02:00
Christophe Riccio
9a42579497 Updated manual 2018-08-31 18:24:28 +02:00
Christophe Riccio
b5dafc0e23 Use Clang 3.6 2018-08-31 00:23:27 +02:00
Christophe Riccio
a5593b178f Updated manual, EXT extensions 2018-08-31 00:20:29 +02:00
Christophe Riccio
d479d5bf35 Tentative fix Travis 2018-08-31 00:20:05 +02:00
Christophe Riccio
7e16e6c2a5 Use Clang 3.9 on trusty as Clang 3.6 on precise seems broken 2018-08-30 20:54:52 +02:00
Christophe Riccio
99eb6b3cc6 Improved manual and API documentations 2018-08-30 12:06:10 +02:00
Christophe Riccio
8177cf4aa3 Fixed decoloration 2018-08-30 01:06:07 +02:00
Christophe Riccio
62e4c59d8d More manual documentation 2018-08-30 01:04:26 +02:00
Christophe Riccio
b40c557f25 Improved EXT extensions documentation 2018-08-30 00:16:14 +02:00
Christophe Riccio
65874078a2 Fixed title 2018-08-29 22:34:09 +02:00
Christophe Riccio
556f657936 Fixed doxygen failure 2018-08-29 21:50:57 +02:00
Christophe Riccio
45d7fc8c4e Improved doxygen doc 2018-08-29 14:28:01 +02:00
Christophe Riccio
a0c47aced6 Clean up doxygen documentation 2018-08-29 10:56:55 +02:00
Christophe Riccio
0e3c9f0d7d Added reference to other extensions 2018-08-29 01:34:02 +02:00
Christophe Riccio
34f0c510b6 Fixed doxygen 2018-08-29 00:05:54 +02:00
Christophe Riccio
37504928bb Fixed API documentation references and filenames 2018-08-28 21:55:47 +02:00
Christophe
b52c256622
Merge pull request #808 from tigert1998/master
Modify glm::refract's behaviour, allow any refraction index and prevert NaN generation #808
2018-08-28 12:49:06 +02:00
tigertang
84b6247093 Modify glm::refract according to GLSL man page: return vector zero when full reflection happens #806 2018-08-28 11:25:04 +08:00
Christophe Riccio
b1e8bcad29 Added guide for contributing to GLM and coding style guide #798 2018-08-28 01:13:15 +02:00
Christophe Riccio
abdb9fa3a2 Fixed display of GLM version as part of GLM build messages 2018-08-28 01:12:15 +02:00
Christophe Riccio
e12d724143 Added backward compatibility with GLM_FORCE_ALIGNED, replaced by GLM_FORCE_DEFAULT_ALIGNED_GENTYPES 2018-08-27 23:29:09 +02:00
Christophe Riccio
7c445ee93d Clean up GLM_FORCE_DEFAULT_ALIGNED_GENTYPES 2018-08-27 23:25:00 +02:00
Christophe Riccio
76580af80e Clarified refract valid range of the indices of refraction, between -1 and 1 inclusively #806 2018-08-27 23:13:02 +02:00
Christophe Riccio
f56011fb20 Fixed aligned test on compilers that doesn't support it 2018-08-27 22:11:17 +02:00
Christophe Riccio
87f9f3bd78 Added manual documentation for GLM_FORCE_DEFAULT_ALIGNED_GENTYPES 2018-08-27 21:33:55 +02:00
Christophe Riccio
2fdc2dc748 Clarify the support of constexpr 2018-08-27 20:19:19 +02:00
Christophe Riccio
bde7af55b1 Updated tested compiler versions 2018-08-27 19:31:47 +02:00
Christophe Riccio
a4e9d8b056 Updated manual 2018-08-26 01:08:12 +02:00
Christophe Riccio
978df09b00 Clean up manual highlight 2018-08-25 22:45:01 +02:00
Christophe Riccio
dd6a42fcf5 Fixed links 2018-08-25 22:08:51 +02:00
Christophe Riccio
cee9de027d Progress on the manual update for GLM 0.9.9.1 2018-08-22 23:10:59 +02:00
Christophe Riccio
0fdf6a3f3a Fixed unknown target 2018-08-22 22:03:54 +02:00
Christophe Riccio
d788a8e51b Added unknown test 2018-08-22 21:49:31 +02:00
Christophe Riccio
de4dbc5662 Improved disabling auto detection 2018-08-22 21:43:32 +02:00
Christophe Riccio
b1c2cc64fd Added platform unknown test 2018-08-22 21:21:00 +02:00
Christophe Riccio
f58ccc7cee Fixed summary 2018-08-22 21:05:56 +02:00
Christophe Riccio
18627cc3d2 When SIMD is enabled, user C++ language extensions on GCC and Clang 2018-08-22 01:51:55 +02:00
Christophe Riccio
02a794a621 Reorganized section 2 2018-08-22 01:51:12 +02:00
Christophe Riccio
80f4ea1a85 Updated headers doc 2018-08-20 00:34:43 +02:00
Christophe Riccio
2e803c948f Fixed summary 2018-08-19 23:51:52 +02:00
Christophe Riccio
c8adabb801 Prepare EXT extensions doc 2018-08-19 23:51:10 +02:00
Christophe Riccio
b45f286054 Prepare EXT extensions doc 2018-08-19 23:48:00 +02:00
Christophe Riccio
6543cc9ad1 Reduced dependencies 2018-08-19 19:33:11 +02:00
Christophe Riccio
0ceb2b755f Removed CMake install 2018-08-19 18:02:57 +02:00
Christophe Riccio
c4f9bc5de6 Fixed ctest 2018-08-19 17:55:39 +02:00
Christophe Riccio
1647c36272 Added back full appveyor test matrix 2018-08-19 17:47:49 +02:00
Christophe Riccio
911e952c60 Quiet GLM CMake message on appveyor 2018-08-19 17:43:24 +02:00
Christophe Riccio
aff5b7a02d Added GLM_QUIET 2018-08-19 17:42:30 +02:00
Christophe Riccio
abb52b7dae tentative fix of appveyor script 2018-08-19 17:33:15 +02:00
Christophe Riccio
469b0cce4d tentative fix of appveyor script 2018-08-19 17:31:36 +02:00
Christophe Riccio
f1b19e7218 tentative fix of appveyor script 2018-08-19 17:25:50 +02:00
Christophe Riccio
981a625b63 tentative fix of appveyor script 2018-08-19 17:21:44 +02:00
Christophe Riccio
f4331fa74b tentative fix of appveyor script 2018-08-19 17:20:35 +02:00
Christophe Riccio
3b67e0cfd2 tentative fix of appveyor script 2018-08-19 17:09:51 +02:00
Christophe Riccio
636515271b Fixed appveyor error 2018-08-19 16:59:37 +02:00
Christophe Riccio
8d42169c2a Reduce the number of appveyor configurations 2018-08-19 16:55:22 +02:00
Christophe Riccio
d9d1aaf4b4 Reduce the number of appveyor configuration 2018-08-19 16:52:06 +02:00
Christophe Riccio
89e5c5db49 More readable env argument 2018-08-19 16:46:59 +02:00
Christophe Riccio
3d16ba7c0a New AppVeyor test matrix 2018-08-19 16:43:07 +02:00
Christophe Riccio
ba0f75fb0a Tentative of full rebuild of appveyor 2018-08-19 16:21:21 +02:00
Christophe Riccio
10062d5adb Fixed travis script 2018-08-19 16:18:02 +02:00
Christophe Riccio
f69d029438 New list of target for Visual Studio testing 2018-08-19 16:15:16 +02:00
Christophe Riccio
684eb11993 Test C++98 on Clang 2018-08-19 15:44:39 +02:00
Christophe Riccio
096eb6726a Reordered target for consistency 2018-08-19 15:07:13 +02:00
Christophe Riccio
6b2220459d Reordered target for consistency 2018-08-19 15:05:02 +02:00
Christophe Riccio
e10dd77b63 More test on XCode 8 2018-08-19 15:02:52 +02:00
Christophe Riccio
4967bb6163 Clean up test order 2018-08-19 15:01:05 +02:00
Christophe Riccio
bbb4164736 Test AVX2 2018-08-19 14:57:50 +02:00
Christophe Riccio
a6977eafc4 Removed release AVX tests on Linux 2018-08-19 14:51:56 +02:00
Christophe Riccio
4e5c8e6a27 Simplify messages 2018-08-19 14:50:03 +02:00
Christophe Riccio
43581a0f3a Removed duplicated messages 2018-08-19 14:45:58 +02:00
Christophe Riccio
f84216c735 Clean up messages 2018-08-19 14:35:30 +02:00
Christophe Riccio
84797af694 Added transpose test 2018-08-19 14:02:47 +02:00
Christophe Riccio
007fe0ff65 Fixed perf mat div test to avoid NaN 2018-08-19 13:36:31 +02:00
Christophe Riccio
89f345d5fb Added perf tests 2018-08-19 12:13:55 +02:00
Christophe Riccio
133b1f9223 Added SIMD tests 2018-08-19 11:24:56 +02:00
Christophe Riccio
0c6473ac5c appveyor only build in 32 bits... 2018-08-19 04:00:53 +02:00
Christophe Riccio
fc522257cf Trying to get 64 bits build on AppVeyor 2018-08-19 03:51:05 +02:00
Christophe Riccio
1294a9758d Fixed travis for ssse3 2018-08-19 03:40:48 +02:00
Christophe Riccio
fc921e7838 /verbosity:minimal 2018-08-19 03:30:43 +02:00
Christophe Riccio
a99185a6c2 quiet msbuild 2018-08-19 03:26:06 +02:00
Christophe Riccio
355f1e7514 Added more SIMD configuration 2018-08-19 03:19:07 +02:00
Christophe Riccio
2fab001159 Fixed VC version 2018-08-19 02:38:56 +02:00
Christophe Riccio
c71c1d39b9 Added more VC tests 2018-08-19 02:34:41 +02:00
Christophe Riccio
ec6dacdb28 Added missing config 2018-08-19 02:26:08 +02:00
Christophe Riccio
994f4ec4ba trying to get a clearer log for VC 2018-08-19 02:24:55 +02:00
Christophe Riccio
29cf4c4df9 run unit tests with VC auto tests 2018-08-19 02:19:59 +02:00
Christophe Riccio
4ae3eb0dc9 Added Clang SSE3 tests 2018-08-19 02:13:00 +02:00
Christophe Riccio
a292f41fda Added Clang SSE3 tests 2018-08-19 02:09:31 +02:00
Christophe Riccio
f48f885a39 Trying to fix appveyor script 2018-08-19 02:05:06 +02:00
Christophe Riccio
8e703f034b Enable language extension 2018-08-19 01:37:18 +02:00
Christophe Riccio
167ceb9671 Only release buid and test 2018-08-19 01:34:57 +02:00
Christophe Riccio
067647f4cb Trying to fix appveyor script 2018-08-19 01:33:06 +02:00
Christophe Riccio
520020056c Trying to fix appveyor script 2018-08-19 01:21:53 +02:00
Christophe Riccio
7b161b0346 Trying to fix appveyor script 2018-08-19 01:17:29 +02:00
Christophe Riccio
6aeafe5288 More different configurations 2018-08-19 01:12:58 +02:00
Christophe Riccio
b98a4df531 Added more C++11 tests 2018-08-19 00:46:53 +02:00
Christophe Riccio
c617387b08 Added more AVX2 tests 2018-08-19 00:40:19 +02:00
Christophe Riccio
ada7c4ad4d Updated SIMD instructions tests 2018-08-19 00:37:20 +02:00
Christophe Riccio
cfdd31d91e Fixed travis script 2018-08-19 00:30:56 +02:00
Christophe Riccio
fb6f82f5f6 Ultimate testing matrix! :D 2018-08-19 00:08:45 +02:00
Christophe Riccio
191ac2378c More test targets 2018-08-18 23:39:19 +02:00
Christophe Riccio
24242699e4 Trying single build and test per target 2018-08-18 23:27:12 +02:00
Christophe Riccio
644b3f3b86 More test runs 2018-08-18 23:18:00 +02:00
Christophe Riccio
0bc773a5c2 Reduced number of build 2018-08-18 23:09:23 +02:00
Christophe Riccio
af12edd5ab Fixed automated test 2018-08-18 23:02:34 +02:00
Christophe Riccio
2f546153ee Test with GCC and Clang on MacOSX 2018-08-18 22:32:05 +02:00
Christophe Riccio
ab0c938e23 Fixed script 2018-08-18 22:27:32 +02:00
Christophe Riccio
e8bdb7d75a Fixed script 2018-08-18 21:51:21 +02:00
Christophe Riccio
b40b2b4dec Reduce build time and test C++ 14 2018-08-18 21:43:48 +02:00
Christophe Riccio
24f10b02f2 Used SSE3 for automated tests 2018-08-18 21:16:57 +02:00
Christophe Riccio
7f2d0f2cf4 Fixed SSE4.1 check 2018-08-18 21:14:48 +02:00
Christophe Riccio
683a0f6119 Fixed warnings 2018-08-18 17:15:27 +02:00
Christophe Riccio
82d257abce Fixed Clang warnings 2018-08-18 16:28:09 +02:00
Groove
e19734f6fc Added SIMD perf tests 2018-08-18 16:12:26 +02:00
Groove
72bf05e06e Clean up detection 2018-08-18 13:58:30 +02:00
Groove
27a1b24835 Fixed swizzle build on VC 2018-08-18 13:28:18 +02:00
Groove
6f9a194c2c Fixed VC and C++98 warning 2018-08-18 13:08:36 +02:00
Groove
4ac8fac6f0 Fixed force C++ language 2018-08-18 12:46:27 +02:00
Groove
77d3914f91 Fixed warnings 2018-08-18 11:40:43 +02:00
Christophe Riccio
88278df477 Fixed platform detection typo #805 2018-08-18 10:15:11 +02:00
Christophe Riccio
329f0e46f1 Fixed missing types in fwd.hpp #804 2018-08-18 00:02:29 +02:00
Christophe Riccio
c7822ff6ff Fixed swizzle error with C++ 98 2018-08-17 01:10:51 +02:00
Christophe Riccio
bb98016c33 Fixed VC warning 2018-08-17 00:23:07 +02:00
Christophe Riccio
803c58c99e Fixed Clang SIMD usage 2018-08-17 00:19:59 +02:00
Christophe Riccio
597ac53f20 Fixed SIMD build 2018-08-16 23:18:13 +02:00
Christophe Riccio
cec74162ff Fixed VC warnings 2018-08-16 21:13:20 +02:00
Christophe Riccio
bee480347c Fixed build 2018-08-16 20:11:03 +02:00
Christophe Riccio
e1f44ea397 Fixed clang warning 2018-08-16 19:52:15 +02:00
Christophe Riccio
7c379193e7 Fixed GLM_HAS_CXX11_STL detection #802 2018-08-16 17:09:32 +02:00
Christophe Riccio
fceca6cf19 Fixed tests, clean up 2018-08-16 17:03:07 +02:00
Christophe Riccio
ef9f9f8028 Added rotate test 2018-08-16 09:57:34 +02:00
Christophe Riccio
8f12f96787 More constexpr 2018-08-16 00:45:31 +02:00
Christophe Riccio
61540a5204 Added missing fmin and fmax overloads 2018-08-15 20:07:12 +02:00
Christophe Riccio
c4ed4ed0c7 Added EXT_scalar_common, EXT_vector_common and EXT_quaternion_exponential extensions 2018-08-15 18:54:04 +02:00
Christophe Riccio
f905aecd23 Sliced matrix transform extension 2018-08-14 00:10:50 +02:00
Christophe Riccio
15fe4e84cc More tests 2018-08-13 21:51:47 +02:00
Christophe Riccio
6c436efacd Fixed build errors 2018-08-13 21:03:53 +02:00
Christophe Riccio
72c3b98e5b Fixed warnings 2018-08-13 20:41:11 +02:00
Christophe Riccio
7489d5d01e Fixed warnings 2018-08-13 20:09:50 +02:00
Christophe Riccio
0e763af6e7 Sliced quaternions into multiple extensions 2018-08-13 19:11:54 +02:00
Christophe Riccio
b3d3f12da7 Fixed warnings 2018-08-12 23:48:43 +02:00
Christophe Riccio
6c7aada02e Fixed warnings 2018-08-12 23:46:55 +02:00
Christophe Riccio
a21401d2a4 Reduce dependencies, added scalar EXT extensions 2018-08-12 23:27:02 +02:00
Christophe Riccio
2a20695ce5 Added more tests 2018-08-12 17:49:41 +02:00
Christophe Riccio
02c4d8b15e Fixed doxygen 2018-08-10 01:30:05 +02:00
Christophe Riccio
93cf0cff8b Fixed build 2018-08-10 00:53:06 +02:00
Christophe Riccio
9abf4a5d68 Updated doxygen doc 2018-08-10 00:27:24 +02:00
Christophe Riccio
4ed0bf7033 Tentative fixed of test with GCC 2018-08-09 23:22:02 +02:00
Christophe Riccio
522f483a14 Fixed build #800 2018-08-09 19:22:53 +02:00
Christophe Riccio
cb4ca81d9b Clean up quaternion relational API 2018-08-09 14:46:38 +02:00
Christophe Riccio
25f4bce688 Fixed build 2018-08-08 23:18:33 +02:00
Christophe Riccio
9f60b0977c Fixed clang warning 2018-08-08 22:20:30 +02:00
Christophe Riccio
ba8ee44b19 Added EXT_quaternion_relational and EXT_quaternion_geometric extensions 2018-08-08 18:36:20 +02:00
Christophe Riccio
8288f17558 Fixed quaternion SIMD includes #799 2018-08-08 17:42:50 +02:00
Christophe Riccio
cca8569a41 Fixed matrix comparison as constexpr 2018-08-08 00:17:29 +02:00
Christophe Riccio
c1be8bf008 Fixed constexpr relational function and added tests 2018-08-07 23:52:57 +02:00
Christophe Riccio
13ca6771ca Fixed constexpr build... 2018-08-07 20:44:44 +02:00
Christophe Riccio
6d34ae4c5e Refactor EXT headers 2018-08-07 18:41:41 +02:00
Christophe Riccio
26be7bda82 Fixed build 2018-08-07 14:46:56 +02:00
Christophe Riccio
8c9d16d868 Added quaternion EXT extensions 2018-08-07 13:55:13 +02:00
Christophe Riccio
c191e6cfe9 Fixed header directories 2018-08-07 12:42:11 +02:00
Christophe Riccio
310b8405c9 Refactor split headers as extension files 2018-08-07 10:46:09 +02:00
Christophe Riccio
768d6eb723 Fixed warnings, added dmat4 operator tests 2018-08-07 01:29:06 +02:00
Christophe Riccio
cf6bf16d62 Make matrix relational constexpr 2018-08-07 01:22:19 +02:00
Christophe Riccio
65655abd32 Make all core vector relational constexpr 2018-08-07 00:55:13 +02:00
Christophe Riccio
234d82e39d Fixed extension names and API doc 2018-08-07 00:20:17 +02:00
Christophe Riccio
eead9500ef Fixed Deleted dead files 2018-08-06 21:29:28 +02:00
Christophe Riccio
389fb2457d Added constexpr relational operators 2018-08-06 19:28:42 +02:00
Christophe Riccio
f82d23949a Fixed build 2018-08-05 19:04:52 +02:00
Christophe Riccio
1d9a8028e4 Reduced exposed API, reduced included dependencies 2018-08-05 19:04:40 +02:00
Christophe Riccio
7086d902e2 Fixed relational code, reduced header dependencies 2018-08-05 18:24:22 +02:00
Christophe Riccio
838d3fed97 Added *vec1 tests 2018-08-05 16:55:36 +02:00
Christophe Riccio
78879c675c Refactor headers 2018-08-05 15:22:49 +02:00
Christophe Riccio
fd21f939d8 Rename headers to sort the files 2018-08-03 16:35:48 +02:00
Christophe Riccio
1092810f2f Fixed build 2018-08-02 18:30:46 +02:00
Christophe Riccio
8a79414fb8 Removed type_vec files, deleting unnecessary dependences 2018-08-01 18:41:10 +02:00
Christophe Riccio
e1d21258e7 Split headers to improve compilation time #670 2018-08-01 18:24:31 +02:00
Christophe Riccio
428a468d13 Sliced ext relational extensions 2018-08-01 12:10:27 +02:00
Christophe Riccio
a71d553435 Fixed test build 2018-08-01 11:03:13 +02:00
Christophe Riccio
3f0bed6dce Refactor vec1 implementation 2018-08-01 11:01:47 +02:00
Groove
0eadca8ca4 Updated manual summary to prepare manual update 2018-08-01 00:29:52 +02:00
Groove
d6673ffafe Fixed doc error 2018-07-31 23:58:36 +02:00
Groove
5898692fc0 Fixed doc error 2018-07-31 23:37:26 +02:00
Groove
f758b48121 Fixed build 2018-07-31 23:26:05 +02:00
Groove
269ae64128 Merged remote master 2018-07-31 23:11:45 +02:00
Groove
fbf3f2016f Refactor configuration macros 2018-07-31 23:05:48 +02:00
Christophe
b4a2eb1407
Merge pull request #795 from anne-gropler/patch-1
updated chapter number for acknowledgements #795
2018-07-31 19:25:15 +02:00
Christophe Riccio
0fb8b56f63 Removed useless GLM_FORCE_ALIGNED_GENTYPES 2018-07-31 14:28:14 +02:00
Christophe Riccio
d97e4c2483 Fixed Clang build 2018-07-31 11:12:10 +02:00
Groove
3b938d55b9 Updated test to run with SIMD instructions 2018-07-31 00:46:44 +02:00
Groove
ddb35c65a0 Disabled test experiment 2018-07-31 00:46:15 +02:00
Groove
4712d510cf More load experiments 2018-07-30 23:47:04 +02:00
Groove
c56cc083a4 Added GTX_load experiments 2018-07-30 23:27:02 +02:00
Groove
63aceae081 Fixed SSE1 code generation 2018-07-30 23:26:25 +02:00
Anne Gropler
d9a3aab691
updated chapter number for acknowledgements 2018-07-30 14:24:10 +02:00
Groove
cd58024e40 - Fixed infinite loop in random functions when using negative radius values using an assert #739 2018-07-29 23:30:35 +02:00
Groove
58255c8603 More aligned type tests 2018-07-29 22:44:09 +02:00
Groove
d4daef9150 Fixed invalid conversion from int scalar with vec4 constructor when using SSE instruction 2018-07-29 22:30:19 +02:00
Groove
147d56d90c Can't see values for vec or mat in the debugger #665 2018-07-29 22:11:15 +02:00
Groove
d307d39019 GLM_TEST_ENABLE Option enabled by default to build GLM unit tests. Disable this option to disable testing #788 2018-07-29 18:20:43 +02:00
Groove
09fb7dedbe Added missing aligned matrix types to GTC_type_aligned 2018-07-29 18:08:02 +02:00
Groove
d427da09df Fixed aligned matrices #777 2018-07-29 17:09:25 +02:00
Groove
d18c7f55ec Tentative fix Visual C++ build 2018-07-29 16:13:21 +02:00
Groove
c53b98abb6 Full coverage of constexpr of vec types 2018-07-29 13:01:07 +02:00
Groove
d0472e0676 Improved constexpr coverrage 2018-07-29 12:04:18 +02:00
Groove
8892c7da59 Fixed build error 2018-07-29 01:06:17 +02:00
Groove
9d9a3e07c9 Fixed build error 2018-07-29 00:43:55 +02:00
Groove
472f2c13b7 Improved constexpr support 2018-07-29 00:33:09 +02:00
Groove
178314a67d Added constexpr test #794 2018-07-29 00:06:31 +02:00
Groove
5df76e830d Fixed defaulted operator= and constructors #791 2018-07-28 22:53:57 +02:00
Groove
8e8d046587 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 21:40:20 +02:00
Groove
2e3fc5da83 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 21:35:59 +02:00
Groove
b0f06b31a4 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 21:25:49 +02:00
Groove
3e364981e8 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 21:18:15 +02:00
Groove
21d030ad3d Fixed error: comparing floating point with == or != is unsafe 2018-07-28 21:06:00 +02:00
Groove
d6b0b9b1ef Fixed error: comparing floating point with == or != is unsafe 2018-07-28 20:51:13 +02:00
Groove
a7e0e8387b Fixed error: comparing floating point with == or != is unsafe 2018-07-28 20:32:26 +02:00
Groove
5ecc27ff93 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 20:24:45 +02:00
Groove
6c981b07c1 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 19:55:36 +02:00
Groove
34eb95d219 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 19:45:40 +02:00
Groove
ef955b2bf5 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 19:26:54 +02:00
Groove
b2ba0c317d Fixed error: comparing floating point with == or != is unsafe 2018-07-28 19:12:41 +02:00
Groove
29f7e00e16 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 19:04:00 +02:00
Groove
156ff1f4b2 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 18:41:17 +02:00
Groove
0c83020e4e Fixed error: comparing floating point with == or != is unsafe 2018-07-28 18:31:08 +02:00
Groove
291287e45d Fixed error: comparing floating point with == or != is unsafe 2018-07-28 18:16:07 +02:00
Groove
f9dc1d587f Fixed error: comparing floating point with == or != is unsafe 2018-07-28 17:14:02 +02:00
Groove
633ca9a2f0 Fixed build 2018-07-28 17:01:06 +02:00
Groove
456dde14f4 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 14:48:16 +02:00
Groove
6684535016 Fixed error: comparing floating point with == or != is unsafe 2018-07-28 14:28:49 +02:00
Groove
0cd329da05 Fixed build 2018-07-28 13:57:38 +02:00
Groove
7e6e17f410 Fixed build 2018-07-28 13:28:05 +02:00
Groove
9299abaf9b Fixed float warnings 2018-07-28 12:39:15 +02:00
Groove
382d3c674d Fixed error: comparing floating point with == or != is unsafe 2018-07-27 01:15:58 +02:00
Groove
27b5ddff2b Fixed error: comparing floating point with == or != is unsafe 2018-07-27 00:18:34 +02:00
Groove
af8964a78f Fixed build 2018-07-27 00:11:35 +02:00
Groove
76707df1f1 Fixed comparing floating point with == or != is unsafe error 2018-07-27 00:02:35 +02:00
Groove
4dce0e338d Added vector relational tests 2018-07-26 23:33:10 +02:00
Christophe Riccio
1afa681512 - Added identity functions #765 2018-07-26 18:00:31 +02:00
Christophe Riccio
6afce5da27 Added missing equal and notEqual function for mat 2018-07-26 11:54:04 +02:00
Christophe Riccio
6e7bad6bbc Fixed API doc 2018-07-26 11:22:31 +02:00
Groove
751bc4f7f7 - Added missing equal and notEqual with epsilon for matrix types in EXT_vector_relational 2018-07-26 00:03:31 +02:00
Groove
afde3b4645 Added identity experiment #765 2018-07-25 23:27:57 +02:00
Groove
8f0b7c1373 Added missing equal and notEqual with epsilon for quaternion types 2018-07-25 22:16:16 +02:00
Groove
01f9ab5b6d Revert "- Fixed unexpected operator== behavior #723"
This reverts commit c46981b4c336d5dbb0e2c2756247d8779805bcfb.
2018-07-25 00:40:39 +02:00
Groove
c46981b4c3 - Fixed unexpected operator== behavior #723 2018-07-25 00:23:38 +02:00
Groove
c3c8b73c57 Use constexpr only with C++14 compiler 2018-07-24 23:41:55 +02:00
Groove
97e189606f Added repro test for Conversion error with an aligned matrix #777 2018-07-24 21:33:31 +02:00
Groove
87ecf4a233 Fixed Visual C++ 2013 warnings in vector relational code #782 2018-07-24 21:04:48 +02:00
Groove
2b22509678 Fixed VC2015 build with GLM_FORCE_CTOR_INIT 2018-07-24 20:49:38 +02:00
Groove
bf7cc4a002 Merge branch 'master' of https://github.com/g-truc/glm 2018-07-24 20:15:14 +02:00
Groove
e1cddde7d5 Fixed VC2013 build 2018-07-24 20:15:08 +02:00
Groove
ea1fccae5e Fixed definision and declarion constexpr miss match 2018-07-24 00:50:58 +02:00
Christophe Riccio
75a711dffb Fixed tests 2018-07-23 20:59:29 +02:00
Christophe Riccio
0b39a77057 Fixed build errors 2018-07-23 20:53:38 +02:00
Christophe Riccio
0e11546a3d Removed unused messages 2018-07-23 20:44:11 +02:00
Christophe Riccio
988858145c Added intersectLineTriangle tests 2018-07-23 20:42:38 +02:00
Christophe Riccio
57b03c92ae Added force tests 2018-07-23 20:25:38 +02:00
Christophe Riccio
b0d585dc18 Clean up 2018-07-23 20:14:48 +02:00
Christophe Riccio
7c9c8cbd6f Fixed clang build 2018-07-23 20:13:40 +02:00
Christophe Riccio
bb0f4ef324 Fixed build error 2018-07-23 20:05:12 +02:00
Christophe Riccio
b6321cb85e Clean up configuration defines 2018-07-23 19:38:57 +02:00
Christophe Riccio
1644f0f489 Removed restriction #if defined(GLM_FORCE_UNRESTRICTED_GENTYPE) 2018-07-23 18:59:09 +02:00
Christophe Riccio
0dcb1e8a90 Removed extra GLM_FORCE_MESSAGES 2018-07-23 18:56:23 +02:00
Christophe Riccio
96bf3c0d95 Removed GLM_FORCE_SWIZZLE and GLM_FORCE_UNRESTRICTED_GENTYPE restriction 2018-07-23 18:53:10 +02:00
Christophe Riccio
4e574af7ac Fixed GLM_USE_ALIGNED_GENTYPES initialization 2018-07-23 18:45:43 +02:00
Christophe Riccio
508d0bcbb1 Fixed defaulted constructor and fixed anonymous struct detection and use 2018-07-23 16:02:21 +02:00
Christophe Riccio
ba4a4c6014 Added missing template parameters, removed GLM_DEFAULT_CTOR 2018-07-23 12:02:55 +02:00
Groove
7e3f42eeda Fixed initialisation 2018-07-21 18:07:24 +02:00
Groove
848800b5c4 Fixed glm::ortho #790 2018-07-21 17:52:40 +02:00
Groove
9a0311f327 Fixed Visual C++ language detection 2018-07-20 00:40:49 +02:00
Groove
3b98e220bc Added /permissive- 2018-07-15 19:35:36 +02:00
Groove
1183d39f43 Fixed VC12 build, added VC 14 test 2018-07-15 19:15:49 +02:00
Groove
7f9cb53c54 Fixed Visual C++ 2013 2018-07-15 11:47:32 +02:00
Christophe Riccio
61e68f2667 Fixed swizzle functions and operators tests 2018-07-14 19:56:13 +02:00
Christophe Riccio
a23dd2f800 Clean up CMake project, added arithmetic operators to swizzle operators types 2018-07-14 19:14:08 +02:00
Christophe Riccio
ac1f60997c Fixed GCC and Cland build 2018-07-14 18:29:49 +02:00
Christophe Riccio
9029ac9315 Removed dead file 2018-07-14 18:28:43 +02:00
Christophe Riccio
6acd30c6c5 Fixed Clang build 2018-07-14 17:58:29 +02:00
Christophe Riccio
4db3abe6b5 Refactored GLM_FORCE_MESSAGES, added swizzle operators and functions tests 2018-07-14 17:56:40 +02:00
Christophe Riccio
d50c699515 Fixed SIMD support detection 2018-07-14 16:38:42 +02:00
Christophe Riccio
657ca108ed Fixed Visual C++ language detection 2018-07-14 16:22:17 +02:00
Christophe Riccio
cb3436886e Fixed Clang build 2018-07-14 15:56:30 +02:00
Groove
f27a24de0e Refactor GLM messages and build targets 2018-07-14 00:17:46 +02:00
Groove
c432dfaad8 Enable MS language extension on Clang and GCC 2018-07-13 15:12:39 +02:00
Groove
1ad1edf315 Fixed clang warning 2018-07-12 21:18:44 +02:00
Groove
5c543e65f8 Fixed build 2018-07-12 21:03:14 +02:00
Groove
5273e1001c Fixed test 2018-07-12 20:18:18 +02:00
Groove
802532de0f Fixed build 2018-07-12 00:47:38 +02:00
Groove
c7b6cf56e3 Fixed swizzle functions and tests 2018-07-12 00:36:59 +02:00
Groove
e30685ef96 Fixed build 2018-07-11 23:01:24 +02:00
Groove
5620858a14 Fixed build 2018-07-11 22:45:18 +02:00
Groove
b76f938505 Added C++2a detection and fixed constexpr tests 2018-07-11 21:59:25 +02:00
Groove
1381e0b4c1 Fixed build errors 2018-07-11 20:20:14 +02:00
Groove
10d7a5dc30 Fixed build 2018-07-11 20:11:03 +02:00
Christophe Riccio
0f2e1fa493 Fixed build 2018-07-11 17:49:15 +02:00
Christophe Riccio
2098b073ff Tentative fix build 2018-07-11 11:44:38 +02:00
Groove
710e95fb08 Fixed build 2018-07-11 03:44:15 +02:00
Groove
e280eb9d6c Fixed build 2018-07-11 03:38:29 +02:00
Groove
da8b136419 Fixed build 2018-07-11 03:30:01 +02:00
Groove
16106b2e3e Added C++17 detection, added VC language version detection, clean up alignment type, clean up swizzle operator detection 2018-07-11 02:53:22 +02:00
Groove
bd2c7070d7 Fixed build 2018-07-10 23:04:19 +02:00
Groove
c5386c05f9 More constexpr experiments 2018-07-10 22:49:48 +02:00
Groove
5ddfa3f8a9 More constexpr test 2018-07-10 22:17:31 +02:00
Groove
50bd4b0711 Initial work on more constexpr support in GLM 2018-07-10 22:07:03 +02:00
Christophe Riccio
ce644e01bb Removed useless copy assignment operators 2018-07-10 19:01:09 +02:00
Christophe Riccio
7ed97b4cab Fixed GCC build 2018-07-10 18:45:48 +02:00
Christophe Riccio
dee806ea3f Use initializer lists for matrix constructor 2018-07-10 18:23:59 +02:00
Christophe Riccio
d746c1eba9 Fixed default and constexpr build issues 2018-07-10 14:28:13 +02:00
Christophe Riccio
e48c5ae892 More use of initializer lists 2018-07-10 11:52:00 +02:00
Christophe Riccio
3308b75836 Use initializer lists constructors for mat2 2018-07-10 10:52:47 +02:00
Groove
65f1fb25bb Redesigned constexpr support which excludes both SIMD and constexpr #783 2018-07-10 01:00:47 +02:00
Groove
e264f3f17c Fixed test build 2018-07-10 00:32:51 +02:00
Groove
baca827371 Redesigned constexpr support which supports both SIMD and constexpr on Clang #783 2018-07-10 00:28:05 +02:00
Groove
f95abf2c27 Added more constexpr tests #783 2018-07-10 00:06:28 +02:00
Groove
d3a2542c77 Fixed build 2018-07-09 23:55:25 +02:00
Groove
c06993191f Added initial constexpr tests #783 2018-07-09 23:54:10 +02:00
Groove
13ef0f92bc Added detection of Visual C++ 2017 toolsets 2018-07-09 23:23:24 +02:00
Groove
f889ac0bfe Added initial constexpr tests #783 2018-07-09 21:55:19 +02:00
Groove
398e66ac32 Redesigned constexpr support which requires disable GLM SIMD on Visual C++ #783 2018-07-09 21:44:28 +02:00
Groove
cdcc9467d0 Fixed core_type_vec4 tests 2018-07-09 17:45:55 +02:00
Groove
3a1787795e Fixed warning 2018-07-09 09:19:42 +02:00
Groove
213a66f9bf - Added missing vec1 based constructors 2018-07-07 12:04:27 +02:00
Groove
ec261bd21b Added vec1 based constructors to vec4 with tests and fixed build 2018-07-06 22:22:09 +02:00
Groove
f5e27805af Added vec1 based constructors to vec3 with tests and fixed build 2018-07-06 21:08:06 +02:00
Groove
97ad14cf82 Added vec1 based constructors to vec2 zith tests and started vec3 2018-07-05 15:21:34 +02:00
Christophe Riccio
0d973b40a4 Fixed int mod 2018-06-18 14:25:14 +02:00
Christophe Riccio
11c26f9edb Fixed build problems due to printf and std::clock_t #778 2018-06-18 12:40:00 +02:00
Christophe Riccio
5da834b725 Fixed warnings 2018-06-18 12:02:49 +02:00
Christophe Riccio
620c951501 Merge branch 'master' of https://github.com/g-truc/glm 2018-06-02 00:26:27 +02:00
Christophe Riccio
1139f10a59 Fixed build 2018-06-02 00:25:58 +02:00
Christophe
56ed906320
Merge pull request #772 from thechosenone124/patch-1
Intermediate Function Is Improperly Done #772
2018-06-01 23:49:02 +02:00
Christophe
c0e2aa0223
Merge pull request #773 from mosra/dualquat-to-string
Make to_string(dualquat) actually work #773
2018-06-01 23:46:35 +02:00
Christophe Riccio
2a332ac098 Fixed build 2018-06-01 23:32:57 +02:00
Christophe Riccio
a772bb3fd1 Added missing bitfieldInterleave overload 2018-06-01 18:08:11 +02:00
Christophe Riccio
b4981e56fa Added bitfieldDeinterleave with tests 2018-06-01 18:01:35 +02:00
Vladimír Vondruš
89420dd1f5 Make the to_string(dualquat) test work under C++03.
I forgot this is still a thing, sorry.
2018-06-01 12:01:25 +02:00
Vladimír Vondruš
aa1728cde2 Make to_string(dualquat) actually work.
It segfaulted somewhere deep in strlen() due to a mismatch in printf()
argument count.
2018-06-01 02:45:01 +02:00
thechosenone124
8bbbbfcafd
Intermediate Function Is Improperly Done
The formula for calculating the intermediate for a SQUAD interpolation is

exp((log(next * invQuat) + log(prev * invQuat)) / static_cast<T>(-4)) * curr;

The current code uses addition instead of multiplication (based on http://web.mit.edu/2.998/www/QuaternionReport1.pdf)
2018-05-30 23:36:37 -07:00
Christophe Riccio
f5572344f5 Merge branch 'master' of https://github.com/g-truc/glm 2018-05-28 10:33:30 +02:00
Christophe
20b3f4bd42
Merge pull request #767 from jimvonmoon/extract_euler_angle_fix
Fixed potential narrowing conversion in extractEulerAngleXYZ #767
2018-05-28 09:44:27 +02:00
JimVonMoon
59e15deb6d Fixed potential narrowing conversion in extractEulerAngleXYZ 2018-05-25 20:03:32 +02:00
Christophe Riccio
fe7c7b5ac1 Updated 0.9.9.0 release date 2018-05-22 10:34:01 +02:00
Christophe Riccio
024e94b6c4 Fixed GTX_easing on Apple Clang 2018-05-08 21:27:22 +02:00
Christophe Riccio
ef615c8d6e Tentative fix GTX_easing on Apple Clang 2018-05-08 20:57:34 +02:00
Christophe Riccio
5c02758b15 Tentative fix GTX_easing on Apple Clang 2018-05-08 20:05:54 +02:00
Christophe Riccio
3a7168eb55 Tentative fix Clang build 2018-05-08 17:16:35 +02:00
Christophe Riccio
4a28af5258 Fixed clang build 2018-05-08 14:37:51 +02:00
Christophe Riccio
e2b75b6bf7 Fixed GTX_easying clang warnings 2018-05-08 14:01:29 +02:00
Christophe Riccio
c3a41b0ef8 Updated API documentation 2018-05-08 13:51:58 +02:00
Christophe Riccio
4d4dbcade6 Moved bounded function to GTX_common from EXT_vector_relational as there are quite new 2018-05-08 13:34:22 +02:00
Christophe Riccio
77acd2fe40 Clarify quat_cast documentation, applying on pure rotation matrices #759 2018-05-08 12:31:05 +02:00
Christophe Riccio
1d3f8a057f Fixed GTX_easing build on Clang 2018-05-08 12:26:07 +02:00
Christophe Riccio
1cd7a47279 Fixed GTX_easing build on VS2013 2018-05-08 12:16:58 +02:00
Christophe Riccio
c58b60ec2a Prepare GLM 0.9.9.0 release 2018-05-07 18:34:02 +02:00
Christophe Riccio
62dfe7adfb Fixed isnan on CUDA #727 2018-05-07 18:21:48 +02:00
Christophe Riccio
b3a24a0565 Fixed linearRand #762 2018-05-07 18:12:18 +02:00
Christophe Riccio
69f94334e0 Added GTX_easing for interpolation functions #761 2018-05-07 15:39:25 +02:00
Christophe Riccio
e560ce01d4 Packaging with conan externally #758 2018-05-07 14:28:08 +02:00
Christophe Riccio
0daef60d98 Merge branch 'master' of https://github.com/g-truc/glm 2018-05-07 12:14:51 +02:00
Christophe Riccio
d53cd73a0e Fixed mising glm::precision 2018-05-07 12:14:32 +02:00
Christophe
c8e115f83e
Merge pull request #756 from ghost/master
Adaptation to latest conan version #756
2018-05-07 10:40:49 +02:00
Christophe Riccio
798ab30b9d Fixed Syntax error when compiling with GLM_FORCE_CTOR_INIT and GLM_ENABLE_EXPERIMENTAL #753 2018-05-07 10:37:37 +02:00
Christophe Riccio
b5632f5a18 Added bvec3_ctor test 2018-05-03 11:49:38 +02:00
dimitri
347e767ac4 Adaptation to latest conan version 2018-04-18 04:58:00 +02:00
Christophe
5ba45d302c
Merge pull request #752 from tviksand/Do-not-define-GLM_CONSTEXPR_CXX14-on-older-versions-of-MSVC-as-extended-constexpr-is-not-supported-on-these-compilers-re-issue-#749
Do not define GLM_CONSTEXPR_CXX14 on MSVC < 2017 #752
2018-04-10 23:26:07 +02:00
Torbjørn Viksand
351155b9e1 Do not define GLM_CONSTEXPR_CXX14 on MSVC < 2017 2018-04-10 11:14:22 +02:00
Christophe Riccio
b8d0681725 Fixed misspelling #738 2018-03-27 19:04:44 +02:00
Christophe Riccio
8390a77b3a Added GLM_FORCE_CTOR_INIT #735 #740 2018-03-27 18:23:37 +02:00
Christophe
b1522b5178
Merge pull request #746 from p-groarke/cleanup
Cleanup : Remove trailing whitespaces. #746
2018-03-26 10:13:56 +02:00
Philippe Groarke
2cac15849b cleanup : Remove trailing whitespaces. 2018-03-25 12:44:55 -04:00
Philippe Groarke
47fa70c34b Merge branch 'master' into cleanup 2018-03-25 12:43:32 -04:00
Christophe
1a3f1f22cd
Merge pull request #712 from KageKirin/constexpr-mat-ctors
set mat<>::ctor() to be constexpr #712
2018-03-25 18:10:37 +02:00
Christophe
fdb0e43aa0
Merge pull request #744 from vitali-parkhomenko/feature/extension_for_euler_angles
Extension for Euler angles #744
2018-03-25 12:05:34 +02:00
Philippe Groarke
fd327cd341 cleanup : Remove trailing whitespaces. 2018-03-24 20:01:03 -04:00
Philippe Groarke
a5072f5ce5 gitignore : Ignore .DS_Store. 2018-03-24 19:58:12 -04:00
Vitali Parkhomenko
a74cd55d8d #744 Added tests 2018-03-23 14:27:35 +03:00
Vitali Parkhomenko
15fb58aacb Added extraction of Euler angles from rotation matrix.
Extraction of Euler angles from rotation matrix for 11 sequences of rotation axes:
z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z.
2018-03-19 18:48:18 +03:00
Vitali Parkhomenko
5361f5e4ec Added creating a rotation matrix from Euler angles
Creating a rotation matrix for 10 sequences of rotation axes:
z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y, y-z-x, z-x-y, x-z-y, z-y-x.
2018-03-19 18:43:01 +03:00
Vitali Parkhomenko
5fe5f32edd Added creating a derived matrix from the rotation matrix.
Creating a derived matrix from the rotation matrix about the x-, y-, and z-axis.
2018-03-19 18:25:45 +03:00
Christophe
37c395ec77
Merge pull request #731 from devmane144/patch-1
Small consistency change #731
2018-03-17 11:02:55 +01:00
Christophe
2fd7333dd3
Merge pull request #725 from elect86/master
Fixed core_func_common.cpp unsigned test #725
2018-03-17 10:59:03 +01:00
Chris Helmich
3aebd8f8fd added GLM_CONSTEXPR_CXX14 flag to vec<>::operator= and mat<>::operator= 2018-02-05 10:43:18 +09:00
Chris Helmich
dee4f81bc7 added GLM_CONSTEXPR_CTOR_CXX14 flags to mat<>::ctors() 2018-02-05 10:39:25 +09:00
devmane144
abb7fecc5e
Update type_vec4.hpp 2018-02-01 15:01:30 -06:00
devmane144
9b621ee4db
Added the other 3 const & to the file
I added the other 3 const & that I missed.
2018-02-01 14:48:35 -06:00
devmane144
f30f012d37
Adding a const & here for consistency reasons
The other vector types have T const & scalar for their binary operator+
2018-02-01 14:41:44 -06:00
Giuseppe Barbieri
b2a1d7a293
Update core_func_common.cpp 2018-01-26 15:08:02 +01:00
Chris Helmich
4a4af0b80e added flags GLM_CONSTEXPR_CXX14 and GLM_CONSTEXPR_CTOR_CXX14 2018-01-22 11:28:55 +09:00
Christophe Riccio
be53cebcd3 Tentative fix of TravisCI 2018-01-09 22:33:39 +01:00
Christophe Riccio
7b5756d673 Tentative fix of TravisCI 2018-01-09 20:19:01 +01:00
Christophe Riccio
44da53f4a1 Tentative fix of TravisCI 2018-01-09 20:15:24 +01:00
Christophe Riccio
5e8ab46d0a Tentative fix of TravisCI 2018-01-09 20:13:07 +01:00
Christophe Riccio
2335be5f84 Tentative fix of TravisCI 2018-01-09 20:04:56 +01:00
Christophe Riccio
4a27705328 Improved travisCI support 2018-01-09 20:01:02 +01:00
Christophe Riccio
d9710786e5 Tentative fix of Travis CI 2018-01-09 19:52:36 +01:00
Christophe
18e413940a
Merge pull request #720 from yuri-kilochek/master
(UPDATE for #717) Remove redundant specializations of `glm::type` for `glm::mat`s and some accompanying cleanup.  #720
2018-01-09 19:34:56 +01:00
Christophe Riccio
d214fbaaf1 Removed Clang 4.0 that is not supported anymore by Travis CI 2018-01-08 22:11:56 +01:00
Yuri Kilochek
0afc784511 Add definitions for glm::type<T> members, so that they can be used outside of constant expressions. 2018-01-07 00:17:18 +03:00
Yuri Kilochek
5441bc7a93 Merge remote-tracking branch 'upstream/master' 2018-01-07 00:02:24 +03:00
Christophe Riccio
c585cb9d6c Added quat left and right handed tests #703 2018-01-06 19:58:39 +01:00
Christophe Riccio
7725407b2d Added missing quat minus operator #703 2018-01-06 19:47:01 +01:00
Christophe Riccio
6390805e6d Fixed zero as null pointer constant 2018-01-05 00:03:29 +01:00
Christophe Riccio
26c395c78b Fixed build 2018-01-04 17:14:27 +01:00
Christophe Riccio
85811f3860 Fixed test 2018-01-04 15:54:49 +01:00
Christophe Riccio
43179a4bc1 Fixed typo 2018-01-04 15:33:17 +01:00
Christophe
e584028e6f
Merge pull request #710 from elect86/patch-3
Update gtx_matrix_interpolation.cpp, typo #710
2018-01-04 14:18:27 +01:00
Christophe
129fab1bd9
Merge pull request #711 from elect86/patch-4
Update intersect.hpp #711
2018-01-04 09:24:32 +01:00
Christophe
fa668e26b6
Merge pull request #708 from corporateshark/master
Fixed #692: sphericalRand() is doing correct distribution on a sphere #708
2018-01-04 09:12:41 +01:00
Yuri Kilochek
1ef3e5a200 components, cols, rows are no longer defined as members of anonymous enums and are now instead static integral constants of type glm::length_t (this appears to be current approach). 2017-12-26 19:42:12 +03:00
Yuri Kilochek
7f162ff4e8 Remove redundant specializations of glm::type<mat</*...*/>> 2017-12-26 19:38:07 +03:00
Giuseppe Barbieri
83697febeb
Update intersect.hpp 2017-12-19 16:18:10 +01:00
Giuseppe Barbieri
5d0fa00c39
Update gtx_matrix_interpolation.cpp 2017-12-19 14:47:02 +01:00
Sergey Kosarevsky
84e6d82051 Fixed #692: sphericalRand() is doing correct distribution on a sphere 2017-12-11 18:15:20 +01:00
Christophe Riccio
1190ae0b0e Added test 2017-11-22 18:36:36 +01:00
Christophe Riccio
529de50383 Fixed acsch #698 2017-11-22 17:36:31 +01:00
Christophe
5bcb204cde
Merge pull request #697 from elect86/patch-2
Update manual.md, glm kotlin port #697
2017-11-20 17:59:24 +01:00
Giuseppe Barbieri
23676a991b
Update manual.md 2017-11-08 11:06:46 +01:00
Christophe
0f956f6dbc
Merge pull request #693 from cleeus/fix-exp2-precision-with-cxx11
Fix exp2 precision with cxx11 #693
2017-11-06 17:35:27 +01:00
Christophe
97c1774429
Merge pull request #695 from csukuangfj/patch-1
fix a typo. #695
2017-11-06 17:35:00 +01:00
KUANG Fangjun
538b6b6d57
fix a typo. 2017-11-06 15:13:04 +01:00
Kai Dietrich
c79dfbc925 Use std::exp2 to implement glm::exp2 when available
Using std::exp and then a multiplication looses a lot of precision which
can cause hard to find bugs (who would expect exp2 to fail?) because all
powers of two with integer exponents can be expressed precisely
with ieee754 floating point.

This also should be good for performance, since exp2 with
integer exponent is just shifting some bits in ieee754 and
good implementers will probably leverage that to implement exp2
efficiently.
2017-10-26 09:43:47 +02:00
Kai Dietrich
708a886bb0 Add a CXX11-conditional test for exp2 precision with larger exponents 2017-10-26 09:41:15 +02:00
Christophe Riccio
9e0c716372 Removed VC 2015 that time out for some reasons... :/ 2017-10-22 17:26:42 +02:00
Christophe Riccio
fcbedf5058 Fixed glm::step that didn't work with scalars #684 2017-10-22 16:58:09 +02:00
Christophe Riccio
5dbb4470e7 Merge branch 'master' of https://github.com/g-truc/glm 2017-10-22 16:40:48 +02:00
Christophe Riccio
ad82970101 Fixed warning #685 2017-10-22 16:32:05 +02:00
Christophe
a4061b1897 Merge pull request #689 from akaltar/master
Fix warning C4309 #679 #689
2017-10-22 16:26:15 +02:00
Christophe
9d7e79de6e Merge pull request #691 from OlivierSohn/master
Fix rotation when vectors are in the same direction #691
2017-10-22 16:24:15 +02:00
Christophe Riccio
25e7bef346 Resolved uninitialized return value warnings #685 2017-10-22 15:31:47 +02:00
Olivier Sohn
ddb93dcdc2 fix build 2017-10-21 21:50:36 +02:00
Olivier Sohn
6bd81b8fbc use quat_identity 2017-10-21 21:43:47 +02:00
Olivier Sohn
6f61bb4d2e Fix rotation when vectors are in the same direction #690 2017-10-21 21:17:55 +02:00
akaltar
04819ecaae Fix #679
Fixes warning C4309 on VS2015
2017-10-20 18:42:46 +02:00
Christophe Riccio
7733266417 Fixed Visual C++ automated tests 2017-09-23 23:06:27 +02:00
Christophe Riccio
2e43c201cd Fixed warning C4309 #679 2017-09-23 22:58:51 +02:00
Christophe Riccio
dc3e0b5ccb Added GLM_FORCE_SINGLE_ONLY to use GLM on platforms that don't support double #627 2017-09-23 16:32:25 +02:00
Christophe Riccio
aa38362b2c Added spearate functions to use both nagative one and zero near clip plans #680 2017-09-23 15:55:18 +02:00
Christophe Riccio
083782185e Added openBounded and closeBounded 2017-09-20 23:10:52 +02:00
Christophe Riccio
bfa6c9e192 - Added EXT_vector_relational: openBounded and closeBounded 2017-09-20 17:57:44 +02:00
Christophe Riccio
30ee2cd1bb - Added GTX_texture: levels function 2017-09-20 15:32:29 +02:00
Christophe Riccio
a2497e6174 Fixed glm::to_string on quaternions wrong components order #681 2017-09-20 14:29:22 +02:00
Christophe Riccio
1bf24f8344 Fixed glm::log2<int>() returns wrong value, missing static assert #683 2017-09-20 14:17:42 +02:00
Christophe
5606dd1aac Merge pull request #682 from CaptainCarrot/Quaternion-Look-At
quatLookAt: removed internal normalization of input direction #682
2017-09-20 14:03:30 +02:00
Christophe Riccio
5360662d77 Fixed test 2017-09-20 13:42:13 +02:00
CaptainCarrot
62433e1f40 Update gtx_quaternion.cpp 2017-09-14 09:33:49 +02:00
CaptainCarrot
e28dd1db59 Update gtx_quaternion.cpp 2017-09-14 09:08:44 +02:00
CaptainCarrot
3669256fd1 Update quaternion.inl 2017-09-14 09:05:09 +02:00
CaptainCarrot
1fe48f0d09 Update quaternion.hpp 2017-09-14 09:04:09 +02:00
Christophe
13ccb5154f Merge pull request #676 from therocode/master
Fixed incorrect indentation #676
2017-08-31 12:57:21 +02:00
Tobias Widlund
c07050ef9d Fixed incorrect indentation 2017-08-31 12:42:59 +02:00
Christophe Riccio
ec5b3fd897 Fixed build #675 2017-08-30 10:28:02 +02:00
Christophe Riccio
e8e8d3607c Fixed test build 2017-08-25 21:14:23 +02:00
Christophe Riccio
5cf8765656 Added GTX_texture 2017-08-25 15:55:41 +02:00
Christophe Riccio
5c5cfa5b66 Merge branch 'master' of https://github.com/g-truc/glm 2017-08-25 15:11:40 +02:00
Christophe Riccio
ba4e508e98 Added make_vec* 2017-08-25 15:11:24 +02:00
Christophe
793f2fe9f2 Merge pull request #674 from feng-lab/fixMismatchedPandQ
fix mismatched template argument (P to Q) #674
2017-08-25 10:25:03 +02:00
Linqing Feng
a6e27e8079 fix mismatched template argument (P to Q) 2017-08-25 10:50:05 +09:00
Christophe Riccio
b5eb654ff0 Fixed Visual C++ /W4 warnings 2017-08-22 23:58:31 +02:00
Christophe Riccio
6932058f59 Fixed quaternion constructor from two vectors special cases #469 2017-08-22 22:47:36 +02:00
Christophe
4e0c87683c Merge pull request #672 from amc522/master
Fixing checks for nan in fmin/fmax #672
2017-08-21 21:41:48 +02:00
Aaron
8150e4848b Added more testing for fmin/fmax nan cases 2017-08-21 11:40:37 -07:00
Aaron
d75ef41bdb Checking if either argument is nan in fmin and fmax 2017-08-21 11:16:46 -07:00
Christophe Riccio
d550798ca0 Added EXT_vec1: *vec1 types 2017-08-21 10:36:27 +02:00
Christophe Riccio
de28722e36 Added EXT_vector_relational: extend equal and notEqual to take an epsilon argument 2017-08-20 21:38:33 +02:00
Christophe Riccio
68a829e7ed Added fmin, fmax and fclamp to GTX_extended_min_max #372 2017-08-20 18:42:48 +02:00
Christophe Riccio
fc53581c68 Fixed Better follow GLSL min and max specification #372 2017-08-20 16:53:50 +02:00
Christophe Riccio
3358f33870 Fixed Visual C++ warnings 2017-08-18 20:09:46 +02:00
Christophe Riccio
7466c4a9e7 Fixed Visual C++ warnings 2017-08-18 20:08:36 +02:00
Christophe Riccio
d0ed6aef21 Fixed Visual C++ /W4 warnings 2017-08-18 18:41:04 +02:00
Christophe Riccio
a2253436c7 Fixed warnings 2017-08-18 16:56:57 +02:00
Christophe Riccio
f654900a01 Fixed warnings 2017-08-18 16:54:53 +02:00
Christophe Riccio
c4794851aa Fixed /W4 warnings 2017-08-18 13:48:47 +02:00
Christophe Riccio
2c2d3931ee Fixed Visual C++ /W4 warnings 2017-08-18 12:59:16 +02:00
Christophe Riccio
e1dc14ddd4 Fixed doxygen warnings 2017-08-18 12:37:44 +02:00
Christophe Riccio
bace93d798 Fixed API documentation reference 2017-08-18 12:27:47 +02:00
Christophe Riccio
72e6b8973f Updated API documentation 2017-08-17 21:00:32 +02:00
Christophe Riccio
dfd700e44b Fixed API doc image 2017-08-17 20:40:23 +02:00
Christophe Riccio
c013b4e58f Updated API doc 2017-08-17 20:39:22 +02:00
Christophe Riccio
8a8a6c2b76 Updated API doc 2017-08-17 19:53:21 +02:00
Christophe Riccio
e9f210c85f Enable /WX, warning as error on Visual Studio 2017-08-17 19:51:03 +02:00
Christophe Riccio
23db2cd8b9 Show core feature first in the API doc modules 2017-08-17 17:52:22 +02:00
Christophe Riccio
2240849164 Improve API documentation 2017-08-17 17:36:40 +02:00
Christophe Riccio
d93a3be4ac - Improved API documentation #668 2017-08-17 16:24:32 +02:00
Christophe Riccio
b9936ac0ca Clean up white space 2017-08-17 15:21:13 +02:00
Christophe Riccio
fdf92ba340 Avoid duplicated code 2017-08-17 15:20:23 +02:00
Christophe Riccio
4bc87efa09 Fixed build on GCC 7.1 2017-08-17 15:12:31 +02:00
Christophe Riccio
c23162a62a Using GCC 7.0 instead of GCC 7.1 2017-08-17 14:20:31 +02:00
Christophe Riccio
d74732f985 Using GCC 7.1 instead of 6.0 2017-08-17 14:16:45 +02:00
Christophe Riccio
038c8ad051 Tentative fix Clang 4.0 automated tests 2017-08-17 14:02:53 +02:00
Christophe Riccio
b2e1f9698e Highlight GLM_FORCE defines 2017-08-17 13:58:39 +02:00
Christophe Riccio
007a97216a Tentative fix for GCC 6 2017-08-17 13:22:50 +02:00
Christophe Riccio
990222edfe Added Clang 4.0 and VC 2015 and 2017 tests 2017-08-17 13:17:54 +02:00
Christophe Riccio
3d028660df Added Clang 5.0 tests 2017-08-17 12:34:13 +02:00
Christophe Riccio
ce0572ac7b Added tests with GCC 6 2017-08-17 12:30:17 +02:00
Christophe Riccio
1cead1904a Fixed matrix test using fast math with Clang 2017-08-17 12:24:23 +02:00
Christophe Riccio
3a560f3fd5 Minimum perf run in debug build 2017-08-17 11:55:50 +02:00
Christophe Riccio
d336d3fb27 Fixed no-documentation warnings 2017-08-17 11:40:30 +02:00
Christophe Riccio
1a973285f7 Fixed Apple Clang detection 2017-08-17 11:38:45 +02:00
Christophe Riccio
eb8689b8b5 More use of build-in CMake features, upgraded to CMake 3.2 2017-08-17 10:54:16 +02:00
Christophe Riccio
295326e0cf Display execution duration of automated test runs 2017-08-17 02:35:34 +02:00
Christophe Riccio
6df3b1f2c5 Start by showing CMake version 2017-08-17 01:52:45 +02:00
Christophe Riccio
e37cf6e47f Fixed GCC 7.1.0 failing tests #666 2017-08-17 00:08:37 +02:00
Christophe Riccio
cef33d74c5 Fixed clang test build 2017-08-16 23:06:34 +02:00
Christophe Riccio
22fe828159 Improved GTC_type_precision and added issues regarding SIMD and constexpr interaction #653 2017-08-16 22:35:29 +02:00
Christophe Riccio
cdb28edcaa Added test for inheritance #650 2017-08-16 18:44:20 +02:00
Christophe Riccio
c0df21a398 Added glm/ext.hpp build test 2017-08-16 14:27:06 +02:00
Christophe Riccio
8387bea5e3 Updated readme 2017-08-16 13:40:35 +02:00
Christophe
126fa8c47d Merge pull request #667 from jasjuang/master
support sudo make uninstall #667
2017-08-16 12:04:18 +02:00
Christophe
de205a16b5 Merge pull request #662 from dimi309/master
Modifications suggested by conan team #662
2017-08-16 11:46:04 +02:00
Christophe Riccio
fdfd03ffaf Fixed SIMD build 2017-08-16 03:43:17 +02:00
Christophe Riccio
1bbf2dafb9 Fixed SIMD build 2017-08-16 03:28:11 +02:00
Christophe Riccio
8bcf9b5ae7 Fixed SIMD build 2017-08-16 03:09:04 +02:00
Christophe Riccio
211881abf9 Fixed swizzle operators build using SIMD 2017-08-16 02:42:47 +02:00
Christophe Riccio
4c43e9e679 Fixed GTX_matrix_factorisation build 2017-08-16 02:24:28 +02:00
Christophe Riccio
f327d8e9d4 Fixed swizzle operators build 2017-08-16 02:17:25 +02:00
Christophe Riccio
62d89dcec7 Fixed swizzle operators build 2017-08-16 02:14:40 +02:00
Christophe Riccio
50202f09d9 Fixed swizzle operators build 2017-08-16 02:11:27 +02:00
Christophe Riccio
85acb8323a Fixed swizzle operators build 2017-08-16 02:06:44 +02:00
Christophe Riccio
e33108af5f Fixed shadows template parameter warnings 2017-08-16 01:56:00 +02:00
Christophe Riccio
a8784e7518 Fixed shadows template parameter warnings 2017-08-16 01:52:46 +02:00
Christophe Riccio
8624e38379 Fixed shadows template parameter warnings 2017-08-16 01:48:50 +02:00
Christophe Riccio
3cd2872a00 Fixed build 2017-08-16 01:37:35 +02:00
Christophe Riccio
247facbd49 Fixed shadows template parameter warnings 2017-08-16 01:33:39 +02:00
Christophe Riccio
faf1da52b7 Renamed P (for precision) template argument to Q (for qualifier) 2017-08-16 01:22:50 +02:00
Christophe Riccio
e76fca75a0 More consistent coding style 2017-08-15 22:04:24 +02:00
Christophe Riccio
d1afe662be More consistent coding style 2017-08-15 21:59:47 +02:00
Christophe Riccio
a805fb9d68 Renamed precision enum to qualifier 2017-08-15 21:23:47 +02:00
Christophe Riccio
a7b72ec5b2 Updated API doc 2017-08-15 21:22:51 +02:00
Christophe Riccio
1e22cdd80e Removed api doc 2017-08-15 19:08:03 +02:00
Christophe Riccio
ac3abfdac7 Replaced vecType template argument by vec template 2017-08-15 19:07:25 +02:00
Christophe Riccio
da84db5481 Replaced vecType by vec 2017-08-15 17:32:36 +02:00
Christophe Riccio
8a9582cc5e Added -Wno-undefined-reinterpret-cast 2017-08-15 16:55:43 +02:00
Christophe Riccio
c68940224a Fixed GCC and clang build 2017-08-15 16:12:54 +02:00
Christophe Riccio
bacbc2ab99 Tentative fix of GTC_type_precision 2017-08-15 15:12:04 +02:00
Christophe Riccio
118be2fe8d Fixed Clang with -Weverything build error 2017-08-15 14:40:33 +02:00
Christophe Riccio
1dda4f5014 Trying to identify test failure on the test systems 2017-08-11 02:02:01 +02:00
Christophe Riccio
c823345baa Fixed build 2017-08-10 23:38:41 +02:00
Christophe Riccio
82cf733092 Fixed -Weverything warning 2017-08-10 22:42:36 +02:00
Christophe Riccio
3a06085edd Fixed -Weverything warnings 2017-08-10 19:57:35 +02:00
Christophe Riccio
5212c26da2 Clean up vecType 2017-08-10 03:28:29 +02:00
Christophe Riccio
78e06f815b Fixed clang test 2017-08-10 03:23:00 +02:00
Christophe Riccio
7740d53f6b Trying to find clang problem with GTC_type_precision 2017-08-10 02:51:17 +02:00
Christophe Riccio
46a1a66f61 Enabled warnings as error with Clang unit tests 2017-08-10 02:50:03 +02:00
Christophe Riccio
c43c883db8 Enabled warnings are errors 2017-08-10 02:45:35 +02:00
Christophe Riccio
ec79dbdbef Disabled warnings 2017-08-10 02:43:41 +02:00
Christophe Riccio
36c196b195 Fixed warnings 2017-08-10 02:25:37 +02:00
Christophe Riccio
e079fa0569 Removed GLI 2017-08-09 22:42:56 +02:00
Christophe Riccio
5d77861141 Fixed warnings 2017-08-09 22:40:33 +02:00
Christophe Riccio
b936761960 Fixed warnings 2017-08-09 22:15:01 +02:00
Christophe Riccio
3c7d778dba Added C++17 build argument 2017-08-08 23:56:40 +02:00
Christophe Riccio
ac8d625d23 Fixed warnings 2017-08-08 23:54:30 +02:00
Christophe Riccio
da32661074 Ignore some warnings 2017-08-08 23:35:46 +02:00
Christophe Riccio
1bfc198625 Fixed warnings 2017-08-08 23:32:52 +02:00
Christophe Riccio
2cc0c53da7 Fixed warnings 2017-08-08 23:19:16 +02:00
Christophe Riccio
f445a24f82 Fixed test warnings 2017-08-08 22:44:13 +02:00
Christophe Riccio
b138eed73b Fixed warnings 2017-08-08 22:40:22 +02:00
Christophe Riccio
f5dde80e2e Fixed warnings 2017-08-08 22:31:37 +02:00
Christophe Riccio
d712ac930f Fixed test build 2017-08-08 21:33:57 +02:00
Christophe Riccio
5a747d2ae5 Fixed warnings 2017-08-08 20:28:37 +02:00
Christophe Riccio
32054a8fdf Fixed warnings with -Weverything 2017-08-08 15:17:25 +02:00
Christophe Riccio
0f34103f4f Fixed warnings with -Weverything 2017-08-08 15:01:07 +02:00
Christophe Riccio
97ac535144 Fixed warnings with -Weverything 2017-08-08 14:59:11 +02:00
Christophe Riccio
d799c282db Fixed warnings 2017-08-08 14:25:06 +02:00
Christophe Riccio
6c23545fbc Fixed -Wreserved-id-macro warnings 2017-08-08 11:37:24 +02:00
Christophe Riccio
940af561cc Fixed -Wreserved-id-macro warnings 2017-08-08 11:35:36 +02:00
Christophe Riccio
276a7beb19 Fixed warnings 2017-08-08 11:30:21 +02:00
Christophe Riccio
59c11d9531 Tentative fix test with Clang 2017-08-07 23:34:36 +02:00
Christophe Riccio
36178f91e9 More use of GLM constants 2017-08-07 17:28:56 +02:00
Christophe Riccio
00e7908294 Fixed warnings 2017-08-07 14:56:45 +02:00
Christophe Riccio
a41c4d83d2 Fixed warning tests 2017-08-07 14:34:28 +02:00
Christophe Riccio
336a949cf8 Removed -Wreserved-id-macro 2017-08-07 14:20:57 +02:00
Christophe Riccio
e7faf1b683 Fixed GTC_bit_field build 2017-08-07 11:22:18 +02:00
Christophe Riccio
3a3653cfe5 Fixed bitfieldInterleave test 2017-08-07 04:04:15 +02:00
Christophe Riccio
5ada4dbd65 Fixed exponential tests 2017-08-07 03:53:00 +02:00
Christophe Riccio
01bac6a524 Improved exponential funtion test coverage 2017-08-07 03:35:21 +02:00
Christophe Riccio
cedc72e07a Fixed log test 2017-08-07 03:17:46 +02:00
Christophe Riccio
45a716b893 Fixed epsilonEqual build 2017-08-07 03:18:21 +02:00
Christophe Riccio
1e7d12b91b Fixed GLM_HAS_OPENMP when OpenMP is not enabled 2017-08-07 01:28:42 +02:00
Christophe Riccio
49435a09da Fixed warings generated using -Weverything 2017-08-07 01:00:36 +02:00
Christophe Riccio
d63aa4ea85 Fixed build 2017-08-06 23:43:53 +02:00
Christophe Riccio
384dab02e4 Reduce the number of warnings with -Weverything #646 2017-08-06 23:00:05 +02:00
Christophe Riccio
bb48c10275 Ignore 64 bits int warnings with Clang 2017-08-06 16:30:41 +02:00
Christophe Riccio
22c88fd821 Fixed build errors with GCC and Clang #664 and #666 2017-08-06 16:29:55 +02:00
Christophe Riccio
e4ffe16bed Revert "Fixed vec4 SIMD constexpr #653"
This reverts commit 950d2261547a4f9836c01a570952937671c1e269.
2017-08-06 15:49:50 +02:00
jasjuang
34193818f9 support sudo make uninstall 2017-08-02 22:11:40 -07:00
Christophe Riccio
6c70e74f3c Fixed quatLookAt #659 2017-07-26 02:32:40 +02:00
Christophe Riccio
950d226154 Fixed vec4 SIMD constexpr #653 2017-07-26 02:06:33 +02:00
Christophe Riccio
aa026cc0da Removed glm::uninitialize 2017-07-25 22:50:31 +02:00
Christophe Riccio
c933f6e591 Clean up GLM_FORCE_NO_CTOR_INIT and fixed tests 2017-07-25 22:15:55 +02:00
Christophe Riccio
f2cb4a3fdf Fixed vec1 test 2017-07-25 21:23:25 +02:00
dimitri
819039447c Update README.md 2017-07-25 12:07:56 +02:00
dimitri
bfdee5f201 Update README.md 2017-07-25 12:06:54 +02:00
dimitri
5d9bdbaded Merge remote-tracking branch 'upstream/master' 2017-07-25 06:28:51 +02:00
dimitri
2f36000a4d Only exporting glm directory to export_source. 2017-07-25 06:15:31 +02:00
dimitri
2c617b45aa Corrected relative path. 2017-07-24 22:58:22 +02:00
Christophe Riccio
9443d8d9ca Added length constexpr test #657 2017-07-24 13:17:00 +02:00
Christophe Riccio
4cf8a10af2 No more default initialization of vector, matrix and quaternion types 2017-07-24 12:46:54 +02:00
Christophe Riccio
c834d06c27 Fixed Visual C++ 2017.2 warning regarding __has_feature definision #655 2017-07-24 12:20:58 +02:00
Christophe Riccio
3c7bd2eb53 Fixed quat normalize build error #656 2017-07-24 12:09:20 +02:00
Christophe Riccio
55d6d2c35c Udpated readme with Added quatLookAt to GTX_quaternion #659 2017-07-24 12:07:04 +02:00
Christophe
a61483b34a Merge pull request #659 from CaptainCarrot/QuatLookAt
Added a quaternion-based "Look At" function #659
2017-07-24 12:05:18 +02:00
Christophe Riccio
1b78e2b681 length() member functions are constexpr #657 2017-07-24 12:01:44 +02:00
Christophe Riccio
50a527c97d - Fixed integer pow from GTX_integer with null exponent #658 2017-07-24 11:39:16 +02:00
Christophe Riccio
ad744735f6 Fixed build #660 2017-07-24 11:10:20 +02:00
dimitri
bb63aa9e9b Modifications suggested by conan team. 2017-07-24 07:17:37 +02:00
CaptainCarrot
c184671583 Update quaternion.hpp 2017-07-23 09:27:25 +02:00
CaptainCarrot
df7f6cc03c Update gtx_quaternion.cpp 2017-07-22 17:20:45 +02:00
CaptainCarrot
580f368365 Update quaternion.hpp 2017-07-22 17:16:49 +02:00
CaptainCarrot
9a21766906 Update gtx_quaternion.cpp 2017-07-22 17:10:31 +02:00
CaptainCarrot
3ee83a15ef Add files via upload 2017-07-22 17:09:21 +02:00
CaptainCarrot
7223cd1b47 Add files via upload 2017-07-22 17:08:49 +02:00
Christophe Riccio
1ad55c5016 Reduced warnings when using very strict compilation flags #646 2017-07-07 11:26:12 +04:30
Christophe Riccio
27f8e5b0a1 Slight optimization by avoiding an unnecessary initialization #654 2017-07-07 11:20:40 +04:30
Christophe Riccio
759a1d8ef2 Added GTX_matrix_factorisation to factor matrices in various forms #654 2017-07-07 10:01:20 +04:30
Christophe Riccio
566d20e8cf Fixed GTX_matrix_factorisation tests to return the number of errors #654 2017-07-07 09:58:34 +04:30
Christophe Riccio
64cfbc0451 Updated GTX_matrix_factorisation to be more consistency with the rest of the codebase #654 2017-07-07 09:34:34 +04:30
Christophe
1ce38b4fad Merge pull request #654 from unordinateur/master
QR factorisation of matrices #654
2017-07-07 09:15:45 +04:30
Vincent Aymong
a4a6ea2825 std::abs instead of just abs. Fixes compilation issues with gcc. 2017-07-06 19:17:55 -04:00
Vincent Aymong
da47fac384 Make C++98 compliant, part 2 2017-07-06 17:54:13 -04:00
Vincent Aymong
f9962054d9 Make C++98 compliant 2017-07-06 17:45:40 -04:00
Vincent Aymong
edde2bcf60 Fix a comment 2017-07-06 15:04:00 -04:00
Vincent Aymong
80bd3f16c1 More comments
Fix RQ test
Slight optimisation in QR
2017-07-06 15:01:19 -04:00
Vincent Aymong
d6abdb7935 Implements QR and RQ matrix decomposition functions. 2017-07-05 18:52:46 -04:00
Christophe
2dc6196467 Merge pull request #649 from Sillamacka/FixSimdSignConversionWarnings
Fix -Wsign-conversion warnings in `simd/common.h`. #649
2017-07-04 17:56:14 +02:00
Christophe
34b5c4623b Merge pull request #648 from Sillamacka/FixStrayParenthesis
Fixed stray ')' that was breaking gtx/matrix_interpolation. #648
2017-07-04 17:54:16 +02:00
Magnus Bergsten
f9531c1524 Fix -Wsign-conversion warnings in simd/common.h. 2017-07-01 03:13:25 +09:00
Magnus Bergsten
0ca6a44454 Fixed stray ')' that was breaking gtx/matrix_interpolation. 2017-07-01 02:51:31 +09:00
Christophe Riccio
26b3e3ed78 Fixed axisAngle NaN #638 2017-06-24 12:43:00 +02:00
Christophe Riccio
631fd1703f Added conan packaging configuration #643 #641, updated readme 2017-06-24 12:16:51 +02:00
Christophe
feff2c8096 Merge pull request #643 from dimi309/master
Added conan packaging configuration. #643 #641
2017-06-24 12:14:24 +02:00
Christophe Riccio
412b562200 Added packing functions for integer vectors #639 2017-06-24 12:12:00 +02:00
dimitri
37857b02fe Added conan packaging configuration. 2017-06-24 09:20:14 +02:00
Christophe Riccio
98ffc6562c Fixed glm::fastInverseSqrt to use fast inverse square #640 2017-06-23 19:53:14 +02:00
Christophe
23a7c7897b Merge pull request #640 from miselin/fix-inversesqrt-precision
Use correct precision for detail::compute_inversesqrt in glm::fastInverseSqrt #640
2017-06-23 19:50:41 +02:00
Christophe Riccio
4e6574749d Fixed references to GLM_FORCE_RADIANS which was removed #642 2017-06-23 19:39:11 +02:00
Matthew Iselin
bff8379a29 Use correct precision in fastInverseSqrt to ensure the fast compute_inversesqrt is used. 2017-06-20 09:35:41 -07:00
Christophe Riccio
cad2c545f6 Fixed bitfield test failure #631 2017-06-04 12:28:55 +02:00
Christophe Riccio
0c3134a52d Fixed usused variable warning in GTX_spline #618 2017-06-04 11:42:05 +02:00
Christophe Riccio
a9a832e187 - Added error for including of different versions of GLM #619 - Added GLM_FORCE_IGNORE_VERSION to ignore error caused by including different version of GLM #619 2017-06-04 11:36:13 +02:00
Christophe Riccio
83602bdea4 - Fixed GLM_FORCE_SIZE_T_LENGTH and add test coverage #624 2017-06-04 10:50:47 +02:00
Christophe Riccio
2834d7376a Fixed dual quaternion != operator #629 2017-06-04 10:09:18 +02:00
Christophe Riccio
40398d67cd Added vec2 cross #621 2017-04-08 19:37:20 +02:00
Christophe Riccio
96adec5f5e Added Z-order experiments 2017-04-08 19:36:54 +02:00
Christophe Riccio
ff64d51a1c Merge 0.9.8 branch 2017-03-27 00:03:37 +02:00
Christophe Riccio
e36368273b Merge branch 'master' of https://github.com/g-truc/glm 2017-03-26 23:51:33 +02:00
Christophe Riccio
5459e93446 Added bitfield interleave implementation 2017-03-26 23:51:13 +02:00
Christophe
93f858503c Merge pull request #617 from elect86/patch-4
Update func_common.hpp, typo #617
2017-03-24 21:00:14 +01:00
Giuseppe Barbieri
6d72ce042f Update func_common.hpp 2017-03-14 09:53:59 +01:00
Christophe Riccio
bb4f6dc9d4 Removed support of boost static_assrt 2017-03-10 21:40:48 +01:00
Christophe Riccio
9f4971289c Merge branch 'master' of https://github.com/g-truc/glm 2017-03-04 00:55:56 +01:00
Christophe Riccio
7fdf3c34df Added packing tests 2017-03-04 00:55:36 +01:00
Christophe
a813c3f291 Merge pull request #615 from Sillamacka/FixShadowWarnings
Fix some more shadowing warnings that had slipped through. #615
2017-03-02 20:03:26 +01:00
Magnus Bergsten
0ffaea051e Fix some more shadowing warnings that had slipped through. 2017-03-03 01:25:26 +09:00
Christophe Riccio
149a6c4258 Merge branch 'master' of https://github.com/g-truc/glm 2017-02-28 22:22:46 +01:00
Christophe Riccio
c42376625a Merge branch '0.9.8' 2017-02-28 22:22:08 +01:00
Christophe Riccio
c6a8b4464b - Fixed packF3x9_E1x5 exponent packing #614 2017-02-28 22:20:04 +01:00
Christophe Riccio
d53e36782b - Fixed packF3x9_E1x5 exponent packing #614 2017-02-28 22:19:26 +01:00
Christophe
ff790f3593 Merge pull request #613 from blahgeek/cuda-compiler-version
Properly set cuda compiler version #613
2017-02-28 10:09:04 +01:00
BlahGeek
0b48eecae8 properly set cuda compiler version 2017-02-28 10:30:50 +08:00
Christophe
f269730d4b Merge pull request #611 from kveretennicov/patch-1
Fix some style and typos in Manual #611
2017-02-20 01:27:22 +01:00
Konstantin Veretennicov
eda0b27f23 Fix some style and typos in Manual 2017-02-19 18:26:06 +01:00
Christophe Riccio
aeccbf1792 Added reference to cglm in GLM manual #609 2017-02-16 01:37:30 +01:00
Christophe Riccio
f048b346fb Merged GLM 0.9.8 2017-02-16 01:15:46 +01:00
Christophe Riccio
8d3bc422e1 Fixed Clang version detection from source #608 2017-02-16 01:07:16 +01:00
Christophe Riccio
4a71e6a02f Merge branch 'master' of https://github.com/g-truc/glm 2017-02-16 00:56:04 +01:00
Christophe
1b40d6b957 Merge pull request #610 from elect86/patch-3
Update rotate_vector.hpp typos #610
2017-02-09 23:01:34 +01:00
Giuseppe Barbieri
af4499f3ca Update rotate_vector.hpp 2017-02-09 17:53:35 +01:00
Giuseppe Barbieri
38b2fef162 Update rotate_vector.hpp 2017-02-09 17:52:19 +01:00
Christophe Riccio
e4f768102b Fixed define 2017-02-09 00:40:37 +01:00
Christophe
f84437dc56 Merge pull request #607 from elect86/patch-2
Fixed links in the manual #607
2017-01-26 12:20:36 +01:00
Giuseppe Barbieri
84792587e0 Update manual.md
Fixed links
2017-01-26 10:11:35 +01:00
Christophe Riccio
a9389aef26 Removed Drone, service is dead 2017-01-22 12:42:09 +01:00
Christophe Riccio
5d89006faa Merge branch 'master' of https://github.com/g-truc/glm 2017-01-21 22:04:24 +01:00
Christophe Riccio
f0b6ce7d75 Removed invalid FAQ 604 2017-01-21 22:04:04 +01:00
Christophe
7ee363c9fa Merge pull request #606 from nourikhalass/master
Fix build with GCC #606
2017-01-21 22:00:35 +01:00
Christophe Riccio
cfbb4d9b91 Merged 0.9.8 2017-01-21 21:58:58 +01:00
Christophe Riccio
5dcc56489e Fixed GLM_FORCE_CXX11 with Clang and libstlc++ which wasn't using C++11 STL features. #604 2017-01-21 21:57:10 +01:00
Nouri Khalass
21b9096428 Fixed typo 2017-01-21 20:46:11 +01:00
Nouri Khalass
a3a8f84f6b Fix issue #600 and #605
This issue was caused by an incorrect number of template arguments.
2017-01-21 19:47:41 +01:00
Christophe Riccio
4875f79eb0 Removed old compiler version 2017-01-20 22:42:53 +01:00
Christophe Riccio
89b063f15c Added FAQ 13: GLM doesn't use C++11 STL features but my compiler support C++11? #604 2017-01-20 22:28:19 +01:00
Christophe Riccio
9f1aae08f7 Merge branch 'master' of https://github.com/g-truc/glm 2017-01-13 01:17:01 +01:00
Christophe Riccio
f4130c32fd Added template alias for mat types 2017-01-10 00:02:16 +01:00
Christophe Riccio
67e5bf004a Preparing GLM 0.9.8.4 release 2017-01-09 23:30:40 +01:00
Christophe
c8ddeea744 Merge pull request #599 from Matiis/master
Quaternion pitch/eulerAngles singularity handling #599
2017-01-07 14:33:14 +01:00
Christophe Riccio
f5ab820ffe Fixed build 2017-01-07 12:49:45 +01:00
Christophe Riccio
41cf89516e Bring back compatibility with GLM 0.9.8 for project using tvec* with C++11 compiler that support template alias 2017-01-07 12:36:25 +01:00
Christophe Riccio
39f775fa6c Merged 0.9.8 branch 2017-01-07 12:15:08 +01:00
Matiis
c9d38fabe6 Quaternion pitch/eulerAngles singularity handling
Handling of singularity when using pitch or eulerAngles on quaternions like (0.5,0.5,-0.5,0.5)
2017-01-06 23:07:03 +01:00
Christophe Riccio
4e267b1b4f Fixed Visual C++ internal error when declaring a global vec type with siwzzle expression enabled #594 2017-01-04 23:56:47 +01:00
Christophe Riccio
9134d7904a Simplier repro case for #594 2017-01-04 23:41:35 +01:00
Christophe Riccio
90873e607d Simplier repro case for #594 2017-01-04 23:35:02 +01:00
Christophe Riccio
26a013a4f8 Simplier repro case for #594 2017-01-04 23:30:44 +01:00
Christophe Riccio
e75859cb0a Simplier repro case for #594 2017-01-04 23:29:37 +01:00
Christophe Riccio
d9d222555f Simplier repro case for #594 2017-01-04 23:28:07 +01:00
Christophe Riccio
353d4ea7b7 Repro case of MS compiler crash 2017-01-04 23:19:48 +01:00
Christophe Riccio
1df01f6b10 Updated the message: Visual C++ has a bug generating the error: fatal error C1001: An internal error has occurred in the compiler. 2017-01-04 22:54:15 +01:00
Christophe Riccio
a39a9b8eb9 Use new CMake approach to check Visual C++ 2017-01-04 22:31:25 +01:00
Christophe Riccio
bf97e168d5 Fixed build 2017-01-04 22:12:57 +01:00
Christophe Riccio
36eda686dd Updated readme 2017-01-04 21:29:37 +01:00
Christophe Riccio
eda6c93276 More consistent resolution of shadow warnings #595 2017-01-04 21:27:43 +01:00
Christophe
e8962dda2a Merge pull request #596 from g-truc/dim
Parameterize on dimensions #584 for vectors and matrices types #596
2017-01-03 22:38:34 +01:00
Martin Gerhardy
9e45b45062 Fixed more shadow warnings in vec4 simd version 2017-01-03 20:30:31 +01:00
Martin Gerhardy
d63d803e8f Fixed shadow warnings for quaternions 2017-01-03 20:22:54 +01:00
Martin Gerhardy
bc60ce8cc4 Fixed shadow warnings for gcc (vec3 and vec4) 2017-01-03 20:19:52 +01:00
Christophe Riccio
b7dac69b6c Fixed build 2017-01-03 02:29:03 +01:00
Christophe Riccio
1318f942cf Fixed build 2017-01-02 21:24:13 +01:00
Christophe Riccio
71a519387e Updated GLI for tests 2017-01-02 20:52:57 +01:00
Christophe Riccio
7839b862e8 Fixed build 2017-01-01 01:28:15 +01:00
Christophe Riccio
2908ddfbaa Fixed build 2017-01-01 01:13:53 +01:00
Christophe Riccio
5aa2dfd465 Fixed build 2016-12-31 11:46:23 +01:00
Christophe Riccio
1671918bdb Build clang build 2016-12-30 20:45:15 +01:00
Christophe Riccio
a8785bdb7a Fixed build 2016-12-30 20:42:18 +01:00
Christophe Riccio
c2fe3fccf6 Use length_t instead of int for vec and mat lengths #584 2016-12-30 20:05:04 +01:00
Christophe Riccio
b92fdf5a59 matrix type Parameterize on dimensions #584 2016-12-30 16:00:25 +01:00
Christophe Riccio
1477d323d9 Fixed build 2016-12-30 10:26:12 +01:00
Christophe Riccio
f00d666e22 Fixed Visual C++ build #584 2016-12-30 01:35:01 +01:00
Christophe Riccio
9a8724925a Uses L for length template argument #584 2016-12-30 01:31:34 +01:00
Christophe Riccio
0318de8b98 Updated manual #584 2016-12-30 01:26:25 +01:00
Christophe Riccio
99c19e9fc2 Clean up 2016-12-30 01:25:09 +01:00
Christophe Riccio
947b07cbc4 remove template alias for more compiler support and simplified swizzle expression implementation #584 2016-12-30 01:23:29 +01:00
Christophe Riccio
4dd748f380 Renamed tvec into vec 2016-12-30 00:03:34 +01:00
John McFarlane
d7fd5a61da fixes VS2013 compiler errors 2016-12-29 07:25:18 -08:00
John McFarlane
26672ab0de fixes VS2015 compiler errors 2016-12-29 06:57:20 -08:00
John McFarlane
506a487d24 parameterize number of dimensions of vector in tvec<D, T, P>
- specializes for 1, 2, 3 and 4-dimensional vector types
  which are then aliased as tvec1, tvec2, tvec3 and tvec4
- requires C++11 aliases; breaks compatability with C++03
- tested on:
  - clang-3.5.2, clang-3.8.0
  - gcc 4.8.5, gcc 5.4.1, gcc 6.2.0

TODO:
- still uses template template parameters - most can probably be removed
- some definitions might now be de-duplicated
2016-12-28 17:07:12 -08:00
Christophe Riccio
06f084063f Clean up GLM_STATIC_CONST_MEMBERS #591 2016-12-17 19:47:11 +01:00
Christophe Riccio
d73fd81812 Merge branch 'master' of https://github.com/g-truc/glm 2016-12-14 17:59:22 +01:00
Christophe
b09fc9cce0 Merge pull request #586 from ranjak/master
CMake: add the option GLM_INSTALL_ENABLE to control installation. #586
2016-12-14 17:49:36 +01:00
Christophe
ccf201c6ba Merge pull request #589 from elect86/patch-1
Update matrix_transform.hpp #589
2016-12-14 17:46:53 +01:00
Giuseppe Barbieri
6f61dd9021 Update matrix_transform.hpp
Typo
2016-12-14 16:20:14 +01:00
Christophe Riccio
0f6bb41a0a Merge branch 'master' of https://github.com/g-truc/glm 2016-12-13 17:49:16 +01:00
ranjak
750d426473 CMake: add the option GLM_INSTALL_ENABLE to control installation.
Fix typo.
2016-12-07 16:22:44 +01:00
Christophe Riccio
85bd36806c Merge branch 'master' of https://github.com/g-truc/glm 2016-12-02 01:14:52 +01:00
Christophe Riccio
dd48b56e44 Updated list of supported compilers 2016-12-02 01:14:36 +01:00
Christophe Riccio
2dda5af72c Fixed GCC 4.5 and older build #566 2016-12-01 23:05:43 +01:00
Christophe
861dce586c Merge pull request #583 from nafest/master
Fix typo in experimental extension warnings #583
2016-11-30 20:34:21 +01:00
Stefan Winkler
f02ce4d6d3 Fix typo in experimental extension warnings 2016-11-30 20:26:35 +01:00
Christophe Riccio
31475c1bb5 Merge branch '0.9.8' 2016-11-25 21:26:18 +01:00
Christophe Riccio
57091f8553 Updated readme 2016-11-25 21:24:59 +01:00
Christophe Riccio
8cde68aba6 Merge branch '0.9.8' 2016-11-25 21:20:26 +01:00
Christophe Riccio
1f8fd8a106 Fixed GTX_matrix_decompose decompose #582 2016-11-25 21:19:55 +01:00
pbruvoll
d48ce7da53 Update sign of all components of scale.
Update all components of scale when determinant is negateve,, not just x component
2016-11-25 21:17:41 +01:00
Christophe
0c40430d65 Merge pull request #582 from pbruvoll/master
Update sign of all components of scale. #582
2016-11-25 16:50:04 +01:00
pbruvoll
b2afe32676 Update sign of all components of scale.
Update all components of scale when determinant is negateve,, not just x component
2016-11-25 16:00:05 +01:00
Christophe Riccio
29f600dfbb Fixed warnings 2016-11-25 00:37:32 +01:00
Christophe Riccio
58c5e0ef4d Fixed intersectRayTriangle #6 2016-11-25 00:33:45 +01:00
Christophe Riccio
07d826e185 Updated travis platforms 2016-11-24 22:59:10 +01:00
Christophe Riccio
d6ae067649 Merge branch '0.9.8' 2016-11-24 22:23:14 +01:00
Christophe Riccio
8f7b681f7f Fixed Travis CI config 2016-11-24 22:22:17 +01:00
Christophe
7034bbdc3d Merge pull request #581 from mgerhardy/patch-2
Removed BOM #581
2016-11-24 21:47:40 +01:00
Martin Gerhardy
dadd57bf26 Removed BOM 2016-11-24 21:36:48 +01:00
Christophe Riccio
2ea3cd5d7b Fixed GLM test warning 2016-11-24 21:21:54 +01:00
Christophe Riccio
f26628f661 Fixed GLM test warning 2016-11-24 21:19:05 +01:00
Christophe Riccio
3cdb61c4a0 Fixed GLM test warning 2016-11-24 21:16:43 +01:00
Christophe Riccio
bb1debc9e1 Fixed GLM test warning 2016-11-24 21:16:02 +01:00
Christophe Riccio
d39749d1d6 Fixed GLM test warning 2016-11-24 21:12:37 +01:00
Christophe Riccio
ca0dcce544 Fixed TravisCI on OSX 2016-11-24 21:00:17 +01:00
Christophe Riccio
5e310b51cd Merge branch '0.9.8' 2016-11-24 20:48:57 +01:00
Christophe Riccio
8d2db38e7d Fixed TravisCI on OSX 2016-11-24 20:48:06 +01:00
Christophe Riccio
7ba8f673ac Fixed GLM_FORCE_SWIZZLE #575 2016-11-24 19:47:53 +01:00
Christophe
b494c64de3 Merge pull request #575 from JesseTG/jtg/manual-section-2
Proofread section 2 #575
2016-11-24 19:44:57 +01:00
Christophe Riccio
b8077c1809 Merge branch '0.9.8' 2016-11-24 19:41:48 +01:00
Christophe Riccio
a88584f572 Fixed GCC 6.2 compiler warnings #580 2016-11-24 19:41:06 +01:00
Christophe Riccio
0472c3f4d6 Fixed Travis-CI crahing on OSX, doesn't support AVX it seems 2016-11-24 19:39:28 +01:00
Martin Gerhardy
3f906960db Fixed compiler warnings for g++ 6.2 2016-11-24 19:29:53 +01:00
Christophe
9d411922ed Merge pull request #580 from mgerhardy/patch-1
Fixed compiler warnings  for g++ 6.2 #580
2016-11-24 19:28:17 +01:00
Martin Gerhardy
12d42a2dac Fixed compiler warnings for g++ 6.2 2016-11-24 13:56:30 +01:00
Christophe Riccio
029f1c4738 Merge branch '0.9.8' 2016-11-24 01:27:48 +01:00
Christophe Riccio
ef4425a61d Fixed intersectRayPlane returns true in parallel case #578 2016-11-24 01:27:17 +01:00
Christophe Riccio
098bf5c746 Merge 0.9.8 2016-11-24 01:22:09 +01:00
Christophe Riccio
ba73c5a976 Merge branch '0.9.8' 2016-11-24 01:21:22 +01:00
Christophe Riccio
ff0b1674f4 Fixed POPCNT optimization build in Clang #512 2016-11-24 01:20:49 +01:00
Christophe Riccio
1cbe3dfa60 Added tests on OSX and release and debug mode 2016-11-24 01:19:12 +01:00
Christophe Riccio
4ba6ef9046 Fixed SIMD instruction set selection with Clang 2016-11-24 01:19:04 +01:00
Christophe Riccio
74378ce1b9 Display instruction set used on CMake prepare 2016-11-24 01:18:57 +01:00
Christophe Riccio
b5766d1514 Tentative fix for #512 2016-11-24 01:18:51 +01:00
Christophe Riccio
2c3afed6de Added tests on OSX and release and debug mode 2016-11-24 00:59:20 +01:00
Christophe Riccio
2be54c9759 Fixed SIMD instruction set selection with Clang 2016-11-23 23:39:51 +01:00
Christophe Riccio
50a52756f2 Display instruction set used on CMake prepare 2016-11-23 23:34:39 +01:00
Christophe Riccio
234d442e0a Tentative fix for #512 2016-11-23 23:13:54 +01:00
Christophe Riccio
1a95482b50 Optimized taylorCos 2016-11-21 00:06:05 +01:00
Christophe Riccio
3945098589 Optimised GTX_color_space_YCoCg YCoCgR conversions 2016-11-20 23:44:08 +01:00
Christophe Riccio
b09f395cd2 Optimized GTX_matrix_interpolation axisAngle function 2016-11-20 23:39:22 +01:00
Christophe Riccio
29535189f1 Optimized taylorCos 2016-11-20 23:33:08 +01:00
Christophe Riccio
969394a5eb Optimized noise functions 2016-11-20 23:27:08 +01:00
Christophe Riccio
1bdc671a0d Merge branch '0.9.8' 2016-11-20 23:21:55 +01:00
Christophe Riccio
feef0fb5b9 Fixed Visual C++ 2013 test build 2016-11-20 23:21:14 +01:00
Christophe Riccio
c7e81fb3f7 Merge branch '0.9.8' 2016-11-20 23:04:25 +01:00
Christophe Riccio
9755dea062 Quicker unit tests 2016-11-20 23:02:20 +01:00
Christophe Riccio
c83e38f9fb Prevent TravisCI timeout, shorter test 2016-11-20 22:53:13 +01:00
Christophe Riccio
5b9d5cae99 Fixed tests 2016-11-20 22:28:22 +01:00
Christophe Riccio
8873915118 Fixed glm::decompose #448 2016-11-20 22:24:32 +01:00
Christophe Riccio
572e407d60 Fixed build 2016-11-20 22:10:11 +01:00
Christophe Riccio
b56471f8a7 Merge branch '0.9.8' 2016-11-20 22:08:20 +01:00
Christophe Riccio
9b158c57b9 Added more continous integration system 2016-11-20 22:05:40 +01:00
Christophe Riccio
1253c6a218 Removed debut code 2016-11-20 21:51:09 +01:00
Christophe Riccio
d4019aab40 Moved color_encoding to experimental 2016-11-20 21:50:12 +01:00
Christophe Riccio
e6ee4bc90d Added FAQ 12: Windows headers cause build errors... #557 2016-11-20 21:15:43 +01:00
Christophe Riccio
157b4ffbf8 Merge GLM 0.9.8 branch 2016-11-20 21:01:12 +01:00
Christophe Riccio
deb8048268 Fixed GTC_packing test failing on GCC x86 due to denorms #212 #577 2016-11-20 20:59:54 +01:00
Christophe Riccio
ce8b8bd93e Fixed GTC_packing test failing on GCC x86 due to denorms #212 2016-11-20 20:58:12 +01:00
Christophe Riccio
37e7b6d649 Graft fix for issue 212 2016-11-20 20:54:55 +01:00
Christophe Riccio
7b78138409 Removed debug code 2016-11-20 20:29:21 +01:00
Christophe Riccio
c8e7962fa2 Fixed GTC_packing test on GCC and GLM_ARCH_PURE #577 2016-11-20 20:20:11 +01:00
Christophe Riccio
32cfecba97 Optimized GTC_packing implementation 2016-11-20 19:54:03 +01:00
Christophe Riccio
3cc726c7a4 Trying to figure out what cause the GCC 32bit fail 2016-11-20 18:55:07 +01:00
Christophe Riccio
f26f21fd9d Trying to figure out what cause the GCC 32bit fail 2016-11-20 18:41:46 +01:00
Christophe Riccio
1349bd5555 Trying to figure out what cause the GCC 32bit fail 2016-11-20 18:12:45 +01:00
Christophe Riccio
eb336d64f1 Trying to figure out what cause the GCC 32bit fail 2016-11-20 18:01:05 +01:00
Christophe Riccio
b3cbed5a1e Trying to figure out what cause the GCC 32bit fail 2016-11-20 17:58:45 +01:00
Christophe Riccio
b08d8b95bd Trying to figure out what cause the GCC 32bit fail 2016-11-20 17:43:51 +01:00
Christophe Riccio
c4666ea14c Trying to figure out what cause the GCC 32bit fail 2016-11-20 17:35:13 +01:00
Christophe Riccio
dffcb04e60 Trying to figure out what cause the GCC 32bit fail 2016-11-20 17:25:54 +01:00
Christophe Riccio
1c17d9a27f Trying to figure out what cause the GCC 32bit fail 2016-11-20 17:17:08 +01:00
Christophe Riccio
8bd73b2a3a Trying to figure out what cause the GCC 32bit fail 2016-11-20 17:02:46 +01:00
Christophe Riccio
bb79314391 Updated AppVeyor status 2016-11-19 23:02:41 +01:00
Christophe Riccio
8b160c0201 It looks like GLM has a but that travis CI shows in this configuration #577 2016-11-19 22:43:02 +01:00
Christophe Riccio
961009a08c Only AppVeyor for Visual C++ 2013 2016-11-19 22:38:04 +01:00
Christophe Riccio
626b367506 Only test GCC 4.9 2016-11-19 22:16:34 +01:00
Christophe Riccio
490a64c4ff Only test GCC 4.9 2016-11-19 22:15:52 +01:00
Christophe Riccio
9f6a96f65d Workaround GCC tests failure 2016-11-19 22:10:47 +01:00
Christophe Riccio
7cc6f0c491 Updated GCC version 2016-11-19 22:07:50 +01:00
Christophe Riccio
cb29a0991d Removed ctest 2016-11-19 21:57:10 +01:00
Christophe Riccio
f882bf5909 Fixed Visual C++ 2013 test build 2016-11-19 21:46:02 +01:00
Christophe Riccio
9842b50641 Updated appveyor configuration 2016-11-19 21:39:24 +01:00
Christophe Riccio
90b24cdc8e Updated appveyor configuration 2016-11-19 21:35:41 +01:00
Christophe Riccio
963f7720e2 Updated appveyor configuration 2016-11-19 21:32:58 +01:00
Christophe Riccio
e9163b4ae2 Updated appveyor configuration 2016-11-19 21:29:09 +01:00
Christophe Riccio
998b62c8bc Removed not available compiler to appveyor 2016-11-19 21:27:13 +01:00
Christophe Riccio
906158abea Removed not available compiler to appveyor 2016-11-19 21:21:04 +01:00
Christophe Riccio
a66e2b5864 Updated appveyor configuration 2016-11-19 21:16:20 +01:00
Christophe Riccio
a6d1b93eb9 Updated travis configuration 2016-11-19 21:05:03 +01:00
Christophe Riccio
c5a16a4083 Updated travis configuration 2016-11-19 21:02:14 +01:00
Christophe Riccio
11924962dd Updated travis configuration 2016-11-19 21:00:43 +01:00
Christophe Riccio
e51be9c01e Updated travis build 2016-11-19 20:47:20 +01:00
Christophe Riccio
e6ea01a65b Fixed travis config 2016-11-19 20:23:16 +01:00
Christophe Riccio
b68c6054ab Updated travis tests 2016-11-19 20:20:27 +01:00
Christophe Riccio
a3427f7027 Fixed build system error 2016-11-19 19:59:47 +01:00
Christophe Riccio
2608e71aac Added appveyor config file 2016-11-19 19:50:25 +01:00
Christophe Riccio
49029bfa67 Added appveyor config file 2016-11-19 19:48:43 +01:00
Christophe Riccio
b2464ceb9b Added travis script 2016-11-19 19:41:54 +01:00
Christophe Riccio
7e4007d427 Updated GLI version used in GLM tests 2016-11-18 23:16:29 +01:00
Jesse Talavera-Greenberg
b6a942be23
Proofread section 2 2016-11-17 04:29:12 -05:00
Christophe Riccio
3440139d3a Fixed logo 2016-11-13 02:05:34 +01:00
Christophe Riccio
092577b3f1 Updated API doc 2016-11-13 01:57:37 +01:00
Christophe
cf3e06e69f Merge pull request #571 from JesseTG/patch-2
Manual proofread and improvements #571
2016-11-13 01:29:13 +01:00
Christophe Riccio
ffaabbf36e Updated logo 2016-11-13 01:16:44 +01:00
Jesse Talavera-Greenberg
9b302bd871
More proofreading 2016-11-12 18:46:17 -05:00
Jesse Talavera-Greenberg
2b241289f3
Tidy up some sentences 2016-11-12 18:46:06 -05:00
Jesse Talavera-Greenberg
c8fb1b2237
Remove an irrelevant sentence 2016-11-12 18:44:51 -05:00
Christophe Riccio
d8ca117cb6 Updated doxygen API doc 2016-11-13 00:39:32 +01:00
Jesse Talavera-Greenberg
284ea2a205
Make the #includes in the Dependencies section of the manual valid
- Oops
2016-11-12 18:01:12 -05:00
Jesse Talavera-Greenberg
a45aad2357
Revert to original title-case style for now 2016-11-12 17:59:13 -05:00
Jesse Talavera-Greenberg
8e789fe4ed
Merge branch 'master' of https://github.com/g-truc/glm into patch-2
# Conflicts:
#	manual.md
2016-11-12 17:57:51 -05:00
Christophe Riccio
83d14ee411 Improved links in the manual 2016-11-12 14:30:30 +01:00
Christophe Riccio
4f4bebccb5 Improved manual links 2016-11-12 14:23:16 +01:00
Christophe Riccio
2801f4e3ce Improved manual links 2016-11-12 14:22:34 +01:00
Christophe Riccio
dbf84a50a6 Fixed link 2016-11-12 14:20:23 +01:00
Christophe Riccio
6482dd29d2 Added GLM_ENABLE_EXPERIMENTAL 2016-11-12 14:19:22 +01:00
Christophe Riccio
26b6c3d34d Fixed merge 2016-11-12 13:42:06 +01:00
Christophe Riccio
f294f169fa Merge GLM 0.9.8 branch 2016-11-12 12:12:44 +01:00
Christophe Riccio
79f6d7082c Bump revision number for next 0.9.8 release 2016-11-12 12:11:43 +01:00
Christophe Riccio
6a1e2ec5d5 Updated version 2016-11-12 12:07:21 +01:00
Christophe Riccio
b23d60501f Prepare GLM 0.9.8.3 release 2016-11-12 11:53:13 +01:00
Christophe Riccio
662b87539a Merge branch '0.9.8' 2016-11-12 11:46:38 +01:00
Christophe Riccio
ab998f4447 - Fixed CMake find_package with version specification #572 #573 2016-11-12 11:46:21 +01:00
Zbigniew Mandziejewicz
6f688414e4 Fix name for CMake version file 2016-11-12 11:44:47 +01:00
Christophe
7cd046d4b7 Merge pull request #573 from shaxbee/patch-1
Fix name for CMake version file #573
2016-11-12 11:43:14 +01:00
Zbigniew Mandziejewicz
a4aa882cf8 Fix name for CMake version file 2016-11-12 18:30:17 +08:00
Christophe Riccio
877ea2ae0b Updated project that use Python 2016-11-10 01:18:40 +01:00
Christophe Riccio
66bbb69a75 Removed doxygen references to GTC_half_float which was removed in 0.9.4 2016-11-09 22:24:44 +01:00
Christophe Riccio
b2a7b6b17d Updated projects using GLM 2016-11-09 22:17:34 +01:00
Christophe Riccio
093f1e2117 Fixed Table of Contents 2016-11-09 22:06:55 +01:00
Christophe Riccio
970dff0f2b Merge GLM 0.9.8 2016-11-09 21:41:50 +01:00
Christophe Riccio
6b0c3b48cc Fixed bitCount with AVX on 32 bit builds #567 2016-11-09 21:39:09 +01:00
Christophe Riccio
30db341ed8 - Fixed interaction between GLM_FORCE_UNRESTRICTED_GENTYPE and ortho function #568 2016-11-09 21:23:17 +01:00
Christophe Riccio
c87e9bed0d Updated revision number 2016-11-09 21:21:09 +01:00
Patrik Huber
80390afd82 Changed T() to static_cast<T> 2016-11-09 21:16:03 +01:00
Patrik Huber
282473be24 Fixed missing conversion to T 2016-11-09 21:15:56 +01:00
Jesse Talavera-Greenberg
26d2eb5b22 Add my old proofread text to Section 1 2016-11-08 15:50:21 -05:00
Christophe
3db25febee Merge pull request #568 from patrikhuber/fix-missing-cast-to-T
Fixed missing conversion to T #568
2016-11-08 19:15:16 +01:00
Patrik Huber
e1e1dd1ebc Changed T() to static_cast<T> 2016-11-08 11:27:32 +00:00
Patrik Huber
d33cbe42a6 Fixed missing conversion to T 2016-11-07 21:41:43 +00:00
Christophe Riccio
f4f1090e7f Fixed license link 2016-11-06 21:08:06 +01:00
Christophe Riccio
a23911a5e9 removed dead file 2016-11-03 20:22:54 +01:00
Christophe Riccio
0ee82e648f Updated manual 2016-11-03 20:06:47 +01:00
Christophe Riccio
c942ac8d60 Fixed formatting 2016-11-03 19:20:42 +01:00
Christophe Riccio
250b2762cf Fixed formatting 2016-11-03 19:19:22 +01:00
Christophe Riccio
b9e27f6699 Fixed formatting 2016-11-03 19:17:43 +01:00
Christophe Riccio
0c5926ce88 Fixed formatting 2016-11-03 19:14:54 +01:00
Christophe Riccio
10b9911285 Fixed formatting 2016-11-03 19:09:15 +01:00
Christophe Riccio
1a460419f9 Fixed GTX_vec_swizzle build 2016-11-02 20:44:25 +01:00
Christophe Riccio
08a2985d65 Merge branch '0.9.8' 2016-11-01 23:57:36 +01:00
Christophe Riccio
03672e9428 Fixed GTX_transform2 shear* functions #403 2016-11-01 23:44:03 +01:00
Christophe Riccio
31f37aa89c Merge branch '0.9.8' 2016-11-01 23:35:04 +01:00
Christophe Riccio
33ea25c052 Broader support of GLM_FORCE_UNRESTRICTED_GENTYPE #378 2016-11-01 23:34:37 +01:00
Christophe Riccio
9d96f10491 Merge GLM 0.9.8 branch 2016-11-01 23:11:03 +01:00
Christophe Riccio
b45d5e8650 Fixed Android build error with C++11 compiler but C++98 STL #284 #564 2016-11-01 23:10:06 +01:00
Christophe Riccio
a17f795aaf Added GTX_vec_swizzle, faster compile time swizzling then swizzle operator #558 2016-11-01 22:36:49 +01:00
Christophe
7157969a05 Merge pull request #558 from amc522/swizzle_alternate
Alternate functions for creating swizzles of vectors #558
2016-11-01 22:27:47 +01:00
Christophe Riccio
2c4e8bf83a Proofreading and editing from #458 2016-11-01 22:22:50 +01:00
Christophe Riccio
2488eb6d3f Fixed table of contents case 2016-11-01 20:59:29 +01:00
Christophe Riccio
4e20e521db Removed introduction, already in readme.md 2016-11-01 15:59:31 +01:00
Christophe Riccio
2eac9169bc Replaced the manual by a markdown version #458 2016-11-01 15:54:58 +01:00
Christophe Riccio
ee6149cc3a Removed Word manual 2016-11-01 15:52:47 +01:00
Christophe Riccio
f9193caf19 Added GPU and legacy OpenGL function links 2016-11-01 15:51:29 +01:00
Christophe Riccio
3611a75da4 Completed source code formatting 2016-11-01 15:44:18 +01:00
Christophe Riccio
999be4302f Improved layout with images 2016-11-01 15:35:04 +01:00
Christophe Riccio
93c9c93947 Updated table of content 2016-11-01 15:31:43 +01:00
Christophe Riccio
eadd43c622 Added table of content 2016-11-01 15:23:28 +01:00
Christophe Riccio
e899672a69 Finished reformatting of for markdown 2016-11-01 14:47:50 +01:00
Christophe Riccio
e95fc82a4e Updated formating 2016-11-01 13:59:45 +01:00
Christophe Riccio
54796da2cd Updated markdown manual 2016-11-01 13:44:23 +01:00
Christophe Riccio
e050e331f3 Updated manual 2016-11-01 13:26:16 +01:00
Christophe Riccio
c583fe0257 Updated manual 2016-11-01 12:56:37 +01:00
Christophe Riccio
3ca24a12a1 Updated manual 2016-11-01 12:46:33 +01:00
Christophe Riccio
936069aa56 Updated manual 2016-11-01 12:32:53 +01:00
Christophe Riccio
5521e7d277 Updated image link 2016-11-01 12:02:03 +01:00
Christophe Riccio
a209f51807 Added images 2016-11-01 11:56:24 +01:00
Christophe Riccio
0e5abf9232 Added manual.md generated from glm.docx using pandoc 2016-11-01 11:35:16 +01:00
Christophe Riccio
842ae44f6d Updated minimum compiler version required 2016-11-01 09:56:07 +01:00
Christophe Riccio
f79c7bf8ad Updated release note for next revision 2016-11-01 09:22:45 +01:00
Christophe Riccio
44a981ea68 Merge 0.9.8 2016-11-01 09:16:29 +01:00
Christophe Riccio
c4f52dc98f Added test for quat type component length() static #565 2016-11-01 09:14:28 +01:00
Christophe Riccio
f3fc2b2862 Prepare GLM 0.9.8.2 release 2016-11-01 09:08:12 +01:00
Christophe Riccio
535040b207 Made quat, vec, mat type component length() static #565 2016-11-01 09:07:04 +01:00
Christophe Riccio
2e9f580615 vector/matrix component length() static #565 2016-11-01 08:44:19 +01:00
Christophe Riccio
9298939816 length becomes a static function #565 2016-11-01 08:44:14 +01:00
Christophe Riccio
ec8cc1dc89 Merge branch 'master' of https://github.com/g-truc/glm 2016-10-27 11:32:08 +02:00
Christophe Riccio
a2684a8fe5 - Added lowp variant of GTC_colorspace convertLinearToSRGB #419 2016-10-16 20:17:29 +02:00
Christophe Riccio
e4c559b29b Added RGBM encoding in GTC_packing #420 2016-10-16 16:40:49 +02:00
Christophe Riccio
9d4f0ba758 Merge branch '0.9.8' 2016-10-16 14:51:57 +02:00
Christophe Riccio
e98ce44d85 Added warning messages when using GLM_FORCE_CXX** but the compiler is known to not fully support the requested C++ version #555 2016-10-16 14:51:49 +02:00
Christophe Riccio
cc7a6dd963 Merge branch '0.9.8' 2016-10-16 12:10:58 +02:00
Christophe Riccio
e1b88a05e9 Fixed filename #562 2016-10-16 12:10:44 +02:00
Christophe Riccio
a2cd1d31be Merged 0.9.8 2016-10-12 21:56:37 +02:00
Christophe Riccio
5cda6a3335 Removed 0.9.8.2 release date... not released 2016-10-12 21:54:11 +02:00
Christophe Riccio
1c283c62df Merge branch 'master' of https://github.com/g-truc/glm 2016-10-12 21:40:45 +02:00
Christophe Riccio
09a81dad23 Merge branch '0.9.8' 2016-10-12 21:40:15 +02:00
Christophe Riccio
1c85265f97 Added Visual C++ 15 detection, Added Clang 4.0 detection, Refactored GLM_COMPILER_VC values 2016-10-12 21:40:03 +02:00
Christophe Riccio
f7e2b724da Merge branch '0.9.8' 2016-10-12 10:50:05 +02:00
Christophe Riccio
5f5e800a24 Fixed clang and GCC build #559 2016-10-12 10:45:43 +02:00
Christophe Riccio
a1c262e283 Merge branch '0.9.8' 2016-10-10 22:09:09 +02:00
Christophe Riccio
19a6d64e8c Fixed Visual C++ constexpr build error #555, #556 2016-10-10 22:03:57 +02:00
amc522
74d3870160 Alternate functions for creating swizzles of vectors 2016-10-09 17:27:59 -07:00
Christophe Riccio
3d00cdeb8d Merge 0.9.8 2016-09-25 12:17:03 +02:00
Christophe Riccio
cae9f61e46 Updated GLM 0.9.8 revision 2016-09-25 12:15:46 +02:00
Christophe Riccio
48f896bad9 Updated version 2016-09-25 10:46:48 +02:00
Christophe Riccio
18ea7063c4 Updated version 2016-09-25 10:44:01 +02:00
Christophe Riccio
30c9391aeb Merge 0.9.8 2016-09-25 10:37:41 +02:00
Christophe Riccio
b7a286b186 Renamed test 2016-09-25 10:35:30 +02:00
Christophe Riccio
f5f8620056 Added pure test 2016-09-25 10:29:08 +02:00
Christophe Riccio
02b954f9eb Merge branch '0.9.8' 2016-09-24 10:52:36 +02:00
Christophe Riccio
0675da467a Optimized quaternion log function #554 2016-09-24 10:46:46 +02:00
Christophe Riccio
13754226bc Merge branch '0.9.8' 2016-09-18 21:56:52 +02:00
Christophe Riccio
9669cf4905 - Fixed packing/unpacking function fixed for 5_6_5 and 5_5_5_1 #552 2016-09-18 21:56:32 +02:00
Aaron
f2135a0ca3 Fixed scaling factors for packing and unpacking unorm555 and unorm565 2016-09-18 21:54:12 +02:00
Christophe
f32e64e634 Merge pull request #552 from amc522/packing_fixes
Packing/unpacking function fixed for 5_6_5 and 5_5_5_1 #552
2016-09-18 21:52:29 +02:00
Aaron
84f4c6e0f9 merging master 2016-09-18 12:00:03 -07:00
Christophe Riccio
4cd40953f1 Merge branch '0.9.8' 2016-09-18 19:40:58 +02:00
Christophe Riccio
695f853ae0 Updated readme for fixed Visual Studio aligned type W4 warning #548 2016-09-18 19:40:49 +02:00
Christophe Riccio
08e1523aaa Merge branch '0.9.8' 2016-09-18 19:31:05 +02:00
Christophe Riccio
b719a9f6cc Added test for GCC 2016-09-18 19:30:51 +02:00
Christophe Riccio
8c960dc647 Alignof is a C++11 feature 2016-09-18 19:30:30 +02:00
Christophe Riccio
d8e30c5fde Improved core_type_aligned test 2016-09-18 19:30:14 +02:00
Christophe Riccio
24532ecbf1 Added aligned storage tests #548 2016-09-18 19:30:00 +02:00
Christophe Riccio
6a30bbbe51 Fixed GCC build broken by #548 PR 2016-09-18 19:29:46 +02:00
Aaron
ca0b7a9929 Merged graft commit 2016-09-18 19:29:10 +02:00
Christophe Riccio
746efbeeda Added test for GCC 2016-09-18 19:26:17 +02:00
Christophe Riccio
0447798937 Merge branch '0.9.8-align' 2016-09-18 17:55:26 +02:00
Christophe Riccio
89d77b51c6 Alignof is a C++11 feature 2016-09-14 23:38:43 +02:00
Christophe Riccio
39455067dc Improved core_type_aligned test 2016-09-14 23:18:52 +02:00
Christophe Riccio
e2ae466059 Added aligned storage tests #548 2016-09-14 22:33:59 +02:00
Christophe Riccio
fa51f18b0c Fixed GCC build broken by #548 PR 2016-09-14 22:01:30 +02:00
Christophe Riccio
4175505a83 Merge branch 'master' of https://github.com/amc522/glm into 0.9.8-align 2016-09-14 21:44:46 +02:00
Aaron
e57615b6bb Changed how storage alignment is created to eliminate warnings on msvc. 2016-09-13 00:36:43 -07:00
Christophe Riccio
f96bc5fd9d Merge branch '0.9.8' 2016-09-13 00:22:19 +02:00
Christophe Riccio
cb7179239b - Fixed GCC 4.8 with C++11 compilation option #550 2016-09-13 00:21:56 +02:00
Christophe Riccio
b4b5131a51 Merge branch '0.9.8' 2016-09-13 00:03:11 +02:00
Christophe Riccio
8ac281e841 Fixed bug on the faceforward function. #549 2016-09-13 00:02:59 +02:00
Christophe Riccio
5fb5e0e321 Fixed bug on the faceforward function. #549 2016-09-13 00:01:54 +02:00
Jason P. Barmparesos
f3044dde88 Fixed bug on the faceforward function. 2016-09-13 00:01:09 +02:00
Christophe
de39f49541 Merge pull request #549 from NorthSailor/master
Fixed bug on the faceforward function. #549
2016-09-12 23:59:37 +02:00
Aaron
460b6ba1b6 Corrected test for msvc compiler 2016-09-12 10:55:01 -07:00
Jason P. Barmparesos
9f0958e40d Fixed bug on the faceforward function. 2016-09-12 16:40:37 +03:00
Aaron
47abea7dba Fixed scaling factors for packing and unpacking unorm555 and unorm565 2016-09-11 22:49:15 -07:00
Aaron
ec5e34e04f Fixed some msvc warnings. Tested on msvc 2015 update 3. 2016-09-11 21:55:22 -07:00
Christophe Riccio
773389c400 Merge 0.9.8 2016-09-11 17:22:05 +02:00
Christophe Riccio
2235c77cec Fixed GCC warning filtering, replaced -pedantic by -Wpedantic 2016-09-11 17:21:18 +02:00
Sami Kankaristo
e9e26ab926 Change -pedantic to -Wpedantic 2016-09-11 17:18:35 +02:00
Christophe Riccio
77b6005e18 Merged 0.9.8 branch 2016-09-11 14:05:43 +02:00
Christophe Riccio
e3072918fc Fixed readme 2016-09-11 14:05:01 +02:00
Christophe Riccio
32e22d69a6 Merged 0.9.8 branch 2016-09-11 14:04:26 +02:00
Christophe Riccio
3c4fe6133e Prepare GLM 0.9.8.1 2016-09-11 14:02:08 +02:00
Christophe Riccio
7d73a5d320 Fixed test 2016-09-11 13:32:51 +02:00
Christophe Riccio
e5f3af3071 Merge branch '0.9.8' 2016-09-11 13:27:07 +02:00
Christophe Riccio
c2180b2ff8 Updated doxygen 2016-09-11 13:26:46 +02:00
Christophe Riccio
4a5461fa49 Updated readme 2016-09-11 13:26:22 +02:00
Christophe Riccio
41ff0aff82 Merge branch '0.9.8' 2016-09-11 12:59:43 +02:00
Christophe Riccio
454d480ceb Updated API documentation 2016-09-11 12:44:33 +02:00
Christophe Riccio
9f0110f5b0 Updated readme 2016-09-11 12:34:22 +02:00
Christophe Riccio
e33e37dc48 Fixed CUDA warning #547 2016-09-11 12:27:24 +02:00
Christophe Riccio
bcc6879b4b Fixed build 2016-09-11 03:24:37 +02:00
Christophe Riccio
430bf43087 Merge branch '0.9.8' 2016-09-11 03:13:34 +02:00
Christophe Riccio
3d6791ef00 Merge 2016-09-11 03:13:06 +02:00
Christophe Riccio
24075d56dd Fixed build 2016-09-11 03:11:37 +02:00
Christophe Riccio
204ebdaf2f Merged 0.9.8 2016-09-11 02:52:44 +02:00
Christophe Riccio
d0712875d8 Added missing extensions 2016-09-11 02:51:57 +02:00
Christophe Riccio
3422dad8cc Fixed missing GLM_FUNC_DECL causing Cuda build errors #547 2016-09-11 02:51:49 +02:00
Christophe Riccio
90f0a88589 Added missing extensions 2016-09-11 02:50:47 +02:00
Christophe Riccio
64f276b804 Added missing extensions 2016-09-11 02:50:37 +02:00
Christophe Riccio
8a54ba3462 Added GTC_color_encoding 2016-09-11 02:50:08 +02:00
Christophe Riccio
2fd6a9eeee Fixed missing GLM_FUNC_DECL causing Cuda build errors #547 2016-09-11 02:47:18 +02:00
Christophe Riccio
4be686d1fe Merged 0.9.8 2016-09-11 00:21:34 +02:00
Christophe Riccio
c9831664c9 Updated manual 2016-09-11 00:19:17 +02:00
Christophe Riccio
0db72b76ab Updated GLM Manual 2016-09-10 02:36:25 +02:00
Christophe Riccio
80a954d9fd Merge branch '0.9.8' 2016-09-09 22:38:25 +02:00
Sergey Alexandrov
ee789e9092 Add GLF_FUNC_QUALIFIER to functors in "type_vec4.inl" 2016-09-09 22:38:12 +02:00
Christophe
9f590128df Merge pull request #546 from taketwo/add-glm-func-qualifier
Add GLF_FUNC_QUALIFIER to functors in "type_vec4.inl" #545
2016-09-09 22:36:31 +02:00
Sergey Alexandrov
9b34889c0e Add GLF_FUNC_QUALIFIER to functors in "type_vec4.inl" 2016-09-09 13:25:46 +02:00
Christophe Riccio
9cabe3b7bc Merge branch '0.9.8' 2016-09-02 01:56:58 +02:00
Christophe Riccio
ff0054490d Fixed GLM_FORCE_UNRESTRICTED_GENTYPE #543 2016-09-02 01:56:33 +02:00
Christophe Riccio
9160f8b8d2 Removed deprecated defines 2016-09-02 01:53:38 +02:00
Christophe Riccio
d029db8ac0 Merge 0.9.8 2016-09-02 01:46:56 +02:00
Christophe Riccio
e77c300e4c Fixed error to cover deprecated define 2016-09-02 01:41:20 +02:00
Christophe Riccio
8bfefbd1ce Document GLM_FORCE_UNRESTRICTED_GENTYPE and generate an error if both GLM_FORCE_SWIZZLE and GLM_FORCE_UNRESTRICTED_GENTYPE are defined at the same time 2016-09-02 01:38:40 +02:00
Christophe Riccio
a609a0fea6 - Added more information to build messages 2016-09-02 00:30:37 +02:00
Christophe Riccio
10dc67e2b5 - Added GLM_FORCE_UNRESTRICTED_GENTYPE allowing non basic genType #543 2016-09-01 23:32:12 +02:00
Christophe Riccio
1c5fd06c2d Fixed cast and clean up 2016-09-01 22:46:21 +02:00
Christophe Riccio
bf88ae130d Merge branch '0.9.8' 2016-08-18 00:59:07 +02:00
Christophe Riccio
ad262c3592 Udpated readme with fixed mat3_cast #542 2016-08-18 00:58:58 +02:00
Christophe Riccio
300f8e965a Merge branch '0.9.8' 2016-08-18 00:54:35 +02:00
Patrik Huber
3b4856cf58 Convert integers to type T in quaternion mat3_cast()
This fixes issues when the type T is not explicitly convertible to T, and for example only has an operator* defined that takes two Ts but not a T and an int.

All the other functions in that file already use this syntax, so the missing ones here are most likely an oversight.
2016-08-18 00:54:25 +02:00
Christophe
c54714da59 Merge pull request #542 from patrikhuber/fix-quaternion-typeconversion
Convert integers to type T in quaternion mat3_cast() #542
2016-08-18 00:49:16 +02:00
Patrik Huber
d08618c073 Convert integers to type T in quaternion mat3_cast()
This fixes issues when the type T is not explicitly convertible to T, and for example only has an operator* defined that takes two Ts but not a T and an int.

All the other functions in that file already use this syntax, so the missing ones here are most likely an oversight.
2016-08-17 23:24:44 +01:00
Christophe Riccio
c947b3338b Merge branch '0.9.8' 2016-08-11 00:42:43 +02:00
Christophe Riccio
ebafd8e82d Fixed aligned type build on Visual C++ 2013 and older compiler #539 2016-08-11 00:41:38 +02:00
Christophe Riccio
239c590ac0 Merge branch '0.9.8' 2016-08-09 20:48:50 +02:00
Christophe Riccio
37ab3dfd29 Fixed Cuda build, using '__align__' for alignments in Cuda #539 2016-08-09 20:48:34 +02:00
Christophe Riccio
7f4ad7524a Merge branch '0.9.8' 2016-08-09 20:07:55 +02:00
Christophe Riccio
7ba6ea9a71 Merge branch '0.9.8' of https://github.com/g-truc/glm into 0.9.8 2016-08-09 20:07:46 +02:00
Christophe Riccio
31c83cc5c8 Merge branch '0.9.8' 2016-08-09 20:06:00 +02:00
Christophe Riccio
09bf19db7e Fixed Cuda build, no support of __declspec(align(alignment)) 2016-08-09 20:05:46 +02:00
Christophe Riccio
ec8fa4623c Fixed Cuda build, no support of __declspec(align(alignment)) 2016-08-09 20:05:19 +02:00
Christophe Riccio
39020ad727 Merge branch '0.9.8' 2016-08-08 11:45:38 +02:00
Christophe Riccio
8fbec7f28e Fixed Clang detection #537 2016-08-08 11:45:30 +02:00
Christophe Riccio
fa8b1f419d Merge branch '0.9.8' 2016-08-07 12:57:01 +02:00
Christophe Riccio
4db0dfcb19 Added lowestBitValue to GTX_bit #536 2016-08-07 12:56:49 +02:00
Christophe Riccio
0a032d0314 Merge branch '0.9.8' 2016-08-07 12:44:04 +02:00
Christophe Riccio
f71171d49b Fixed 32-bits build #528 #529, fixed VC 32 bits crash 2016-08-07 12:43:38 +02:00
Christophe Riccio
0dbdf3fad4 Fixed 32-bits build #528 #529, fixed VC 32 bits crash 2016-08-07 12:42:45 +02:00
Christophe Riccio
e671d50e05 Merge branch '0.9.8' 2016-08-06 19:41:09 +02:00
Christophe Riccio
dcdc966969 Workaround Cuda compiler bug #530 2016-08-06 19:40:39 +02:00
Christophe Riccio
cd50d4ae5c Tentative CUDA workaround #530 2016-08-06 19:35:46 +02:00
Christophe Riccio
55d7fa2775 Merge branch '0.9.8' 2016-08-06 19:28:34 +02:00
Christophe Riccio
edc328c7c9 Fixed GTX_wrap #534, improved GTX_wrap for SIMD friendliness 2016-08-06 19:28:16 +02:00
Christophe Riccio
897a5af243 Merge branch 'master' of https://github.com/g-truc/glm 2016-08-06 18:32:05 +02:00
Christophe Riccio
54057ebda0 Merge branch '0.9.8' 2016-08-06 18:31:15 +02:00
Christophe Riccio
f1cfd55da0 Fixed code sample #531 2016-08-06 18:28:41 +02:00
Christophe
8e8edcfb8d Merge pull request #527 from IndiumGames/pedantic
Change -pedantic to -Wpedantic #527
2016-07-20 23:01:53 +02:00
Sami Kankaristo
f4103fe7f8 Change -pedantic to -Wpedantic 2016-07-20 21:26:45 +03:00
Christophe Riccio
27a25cb6a8 Merge branch '0.9.8' 2016-07-17 22:37:28 +02:00
Sami Kankaristo
63dcf6ad77 Fix #ifdef (had old name) 2016-07-17 22:37:10 +02:00
Christophe
dcb6a006ca Merge pull request #526 from IndiumGames/fix-define-name
Fix #ifdef (had old name) #526
2016-07-17 22:30:10 +02:00
Sami Kankaristo
c784051948 Fix #ifdef (had old name) 2016-07-17 21:01:57 +03:00
Christophe Riccio
3f7630a7af Merged GLM 0.9.8 branch 2016-07-17 11:54:55 +02:00
Christophe Riccio
a3b7bf46e7 Ignore long long warning with C++98 tests 2016-07-17 11:53:47 +02:00
Christophe Riccio
ecc91d4361 Merge 0.9.8 branch 2016-07-17 11:52:15 +02:00
Christophe Riccio
867f03c5f2 Fixed disable pedentic warning for anoynymous struct in GLM 2016-07-17 11:30:12 +02:00
Christophe Riccio
1d8dadcd15 Fixed disable pedentic warning for anoynymous struct in GLM 2016-07-17 11:15:53 +02:00
Christophe Riccio
60026b2066 Fixed build and clean up 2016-07-17 11:07:46 +02:00
Christophe Riccio
de77fadde2 Fixed long long warnings 2016-07-17 10:56:27 +02:00
Christophe Riccio
aa7951aaa4 Fixed long long warnings 2016-07-17 10:54:53 +02:00
Christophe Riccio
6fa619ee13 Fixed disabled long long warning on GCC 2016-07-17 03:46:50 +02:00
Christophe Riccio
4ab9776756 Fixed build error 2016-07-17 03:43:56 +02:00
Christophe Riccio
8c8c8367e3 Improved aligned types support 2016-07-17 03:37:24 +02:00
Christophe Riccio
ad1ae45066 More use of GLM_HAS_ALIGNED_TYPE 2016-07-17 03:18:19 +02:00
Christophe Riccio
b3d57f2cc9 Improved aligned types support 2016-07-17 03:06:58 +02:00
Christophe Riccio
eb20cdc6ae Added precision qualifier tests 2016-07-17 02:17:25 +02:00
Christophe Riccio
48ab7db993 Merge branch '0.9.8' 2016-07-17 01:13:47 +02:00
Christophe Riccio
71004231c6 Updated readme 2016-07-17 01:13:38 +02:00
Christophe Riccio
dc89797275 - Added quaternion version of isnan and isinf #521 2016-07-17 01:02:30 +02:00
Christophe Riccio
7e8d5f4406 Merge branch '0.9.8' 2016-07-17 00:01:08 +02:00
Christophe Riccio
21a9d4ce18 Fixed GLM test '/fp:fast' and '/Za' command-line options are incompatible 2016-07-17 00:00:07 +02:00
Christophe Riccio
a1b4bdbf03 Fixed GLM test '/fp:fast' and '/Za' command-line options are incompatible 2016-07-16 23:54:11 +02:00
Christophe Riccio
630f0840f2 Removed 0.9.8 deprecated extensions 2016-07-16 23:46:41 +02:00
Christophe Riccio
a5e9632215 Merge branch '0.9.8' 2016-07-16 23:42:01 +02:00
Christophe Riccio
7eb0adb7a5 Clean up 2016-07-16 23:41:50 +02:00
Christophe Riccio
12de9b3764 Merged 0.9.8 branch 2016-07-16 23:21:29 +02:00
Christophe Riccio
08a7fc698e Updated 0.9.8 readme URL 2016-07-16 23:20:33 +02:00
Christophe Riccio
077aaca6f7 Updated version 2016-07-16 23:18:23 +02:00
Christophe Riccio
6a6b54b699 Fixed long long warnings, fixed precision qualifier values on Clang where qualifiers had the same values 2016-07-16 22:34:07 +02:00
Christophe Riccio
c80e142816 No more warnings for use of long long 2016-07-16 22:25:09 +02:00
Christophe Riccio
0671e609bb Merge branch 'master' of https://github.com/g-truc/glm 2016-07-16 20:45:09 +02:00
Christophe Riccio
7268a3d0c3 0.9.7 branch 2016-07-16 20:41:43 +02:00
Christophe Riccio
dff3af56a8 GLM 0.9.7.6 release 2016-07-16 20:20:38 +02:00
Christophe Riccio
07baa3b45a Revert, to reduce risks of regressions 2016-07-16 20:03:22 +02:00
Christophe Riccio
2a3d241d78 GLM requires anynimous struct for SIMD optimizations and swizzle support #524 2016-07-16 18:46:15 +02:00
Christophe Riccio
848d68fe96 GLM requires long long support (C++98) and anonymous struct (C++11), disable the warnings within GLM. Strict compilers support check is performed. #524 2016-07-16 18:36:56 +02:00
Christophe Riccio
b157b1f6e3 Fixed build 2016-07-16 16:54:11 +02:00
Christophe Riccio
9e27641d94 Fixed Clang warning 2016-07-16 16:52:58 +02:00
Christophe Riccio
46cd601681 Fixed build error #524 2016-07-16 15:57:49 +02:00
Christophe Riccio
61e8432634 Fixed bad merge 2016-07-16 01:00:24 +02:00
Christophe Riccio
6271aa1530 Merged 0.9.7 branch, Factorized GLM_COMPILER_LLVM and GLM_COMPILER_APPLE_CLANG into GLM_COMPILER_CLANG 2016-07-16 00:54:05 +02:00
Christophe Riccio
2087606611 - Improved C++ 11 STL detection #523 2016-07-16 00:28:32 +02:00
Christophe Riccio
76fce77337 - Updated list of compiler versions detected 2016-07-15 23:49:20 +02:00
Christophe Riccio
09cbd5f7d6 Removed useless const references 2016-07-15 23:11:25 +02:00
Christophe Riccio
6d169bccc2 Fixed scalar reciprocal functions (GTC_reciprocal) #520 2016-07-15 22:40:00 +02:00
Christophe Riccio
166099e82d Added generic quaternion SIMD optimizations 2016-07-14 20:52:29 +02:00
Christophe Riccio
9459aac681 Allows length2 specialization 2016-07-14 16:42:46 +02:00
Christophe Riccio
0698e6537a Merge branch '0.9.7' 2016-07-14 16:41:20 +02:00
Christophe Riccio
33b9dad843 Fixed build 2016-07-14 16:38:59 +02:00
Christophe Riccio
212d343d5f Reduce included code 2016-07-14 16:38:08 +02:00
Christophe Riccio
c85e24d978 Merge branch '0.9.7' 2016-07-14 16:25:24 +02:00
Christophe Riccio
b6da1e45e8 Fixed build 2016-07-14 16:25:11 +02:00
Christophe Riccio
c406cabf6b Merged 0.9.7 2016-07-14 16:02:20 +02:00
Christophe Riccio
e42e6257e3 Cherry pick #482 fix 2016-07-14 15:59:42 +02:00
Christophe Riccio
f4f69be57e Merge branch '0.9.7' 2016-07-14 15:49:38 +02:00
Christophe Riccio
bfb64e7657 Fixed missing vec1 overload to length2 and distance2 functions #431 2016-07-14 15:48:15 +02:00
Christophe Riccio
6e9b524be1 Fixed matrix functions using SIMD code on unaligned types #518 2016-07-14 15:21:45 +02:00
Christophe Riccio
b8b43e6a4d Added GTC_functions extension 2016-07-14 15:20:44 +02:00
Christophe Riccio
3b1af3fe0b Fixed build using SIMD 2016-07-01 01:01:32 +02:00
Christophe Riccio
6cb2c7f95c Fixed spelling mistake #517 2016-06-20 00:25:34 +02:00
Christophe Riccio
0e1e181484 Clean up 2016-06-10 23:14:17 +02:00
Christophe Riccio
9613edbaf5 Updated GTC_type_aligned extension 2016-06-09 23:18:44 +02:00
Christophe Riccio
c256a4ed11 Added unaligned precision qualifiers 2016-06-09 20:12:33 +02:00
Christophe Riccio
7aca47b19e Fixed missing vec1 overload to length2 and distance2 functions #431 2016-06-04 23:48:05 +02:00
Christophe Riccio
0699896927 Merge branch '0.9.7' 2016-06-04 23:12:05 +02:00
Christophe Riccio
39e63661a6 Fixed STL for C++11 detection on ICC #510 2016-06-04 23:11:50 +02:00
Christophe Riccio
8848bc2a08 Fixed STL for C++11 detection on Intel compiler #510 2016-06-04 23:08:08 +02:00
Christophe Riccio
b54a256499 - Fixed strict aliaing warnings #473 2016-06-04 22:57:21 +02:00
Christophe Riccio
4155e5b820 Workaround GCC build with GLM_FORCE_PURE defined 2016-06-02 02:54:05 +02:00
Christophe Riccio
731a263325 Fixed bitcount build errors 2016-06-02 02:32:54 +02:00
Christophe Riccio
5fdca07eee Clean up 2016-06-02 01:01:36 +02:00
Christophe Riccio
fd4ada5843 Support aligned *vec* even when SIMD isn't enabled 2016-06-02 00:33:55 +02:00
Christophe Riccio
416632ea37 Merge branch 'master' of https://github.com/g-truc/glm 2016-06-01 20:04:05 +02:00
Christophe Riccio
b357636d0f Fixed GCC build 2016-06-01 20:03:36 +02:00
Christophe Riccio
f16dd36dfb Merge branch 'master' of https://github.com/g-truc/glm 2016-06-01 11:28:09 +02:00
Christophe Riccio
9d7b180596 Merge branch 'master' of https://github.com/g-truc/glm 2016-06-01 00:44:06 +02:00
Christophe Riccio
41984e42ab Added GTC_type_aligned with aligned *vec* types 2016-06-01 00:43:35 +02:00
Christophe Riccio
c65918b2a1 Updated SIMD documentation 2016-05-31 16:38:00 +02:00
Christophe Riccio
05073d0664 Merge branch '0.9.7' 2016-05-31 11:04:27 +02:00
Christophe Riccio
fe6ab8f3b6 Moved glm.pc.in into cmake directory #509 2016-05-31 11:04:08 +02:00
Christophe Riccio
d6b70f3414 Removed GLM_FORCE_SIZE_FUNC from the manual 2016-05-31 00:51:36 +02:00
Christophe Riccio
b4df7d69a6 Moved glm.pc.in into cmake directory #509 2016-05-31 00:36:21 +02:00
Christophe Riccio
a69679e951 Merged 0.9.7 branch 2016-05-30 20:31:44 +02:00
Christophe Riccio
64342f78bf Updated version and updated readme 2016-05-30 20:28:42 +02:00
Guus Sliepen
15748c30ea Added pkg-config file 2016-05-30 20:16:21 +02:00
Christophe Riccio
89324cef0a Fixed GCC build 2016-05-30 18:34:23 +02:00
Christophe Riccio
688756b3e2 SIMD matrix functions optimizations 2016-05-30 18:01:06 +02:00
Christophe Riccio
84caa1092f Added SIMD integer operations optimizations 2016-05-30 15:38:47 +02:00
Christophe Riccio
1bbc2935a2 Added AVX bitCount optimization 2016-05-30 14:39:43 +02:00
Christophe Riccio
52f8ecd973 Added AVX optimizations and equal tests 2016-05-30 14:23:58 +02:00
Christophe
d69616bbc8 Merge pull request #509 from gsliepen/master
Added pkg-config file #509
2016-05-30 13:38:30 +02:00
Guus Sliepen
0e018a5262 Added pkg-config file 2016-05-30 12:50:00 +02:00
Christophe Riccio
19186b27ed Removed GCC pedantic build argument 2016-05-30 02:03:29 +02:00
Christophe Riccio
9ed2a9601b Adde vec4 swizzle operators SIMD optimizations 2016-05-30 02:00:32 +02:00
Christophe Riccio
b9199a2c1a Refactoring of swizzle operators, preparing for vec4 swizzle SIMD optimizations 2016-05-30 01:39:16 +02:00
Christophe Riccio
89f6da9552 Refactoring of low level SIMD API 2016-05-29 21:30:04 +02:00
Christophe Riccio
0722404fb6 Refactored low level SIMD API, refract SIMD optimization 2016-05-29 20:29:16 +02:00
Christophe Riccio
25b3c9f821 Fixed build 2016-05-29 19:16:42 +02:00
Christophe Riccio
28cb770d14 SIMD common functions optimizations 2016-05-29 19:14:39 +02:00
Christophe Riccio
2386237528 common function SIMD optimization 2016-05-29 17:58:53 +02:00
Christophe Riccio
e71c98c5eb Fixed GCC build 2016-05-29 15:32:23 +02:00
Christophe Riccio
9e9ffe65f1 Fixed build 2016-05-29 15:28:54 +02:00
Christophe Riccio
340083edce Add SIMD optimization for common functions 2016-05-29 15:08:34 +02:00
Christophe Riccio
42d86b8955 Fixed exponential low level API 2016-05-29 03:14:19 +02:00
Christophe Riccio
20cf68679c SIMD sqrt optimizations including lowp 2016-05-29 02:57:53 +02:00
Christophe Riccio
449c7ccedf All the vec4 geometry functions have SIMD optimizations 2016-05-28 23:35:07 +02:00
Christophe Riccio
b5521ca7c2 All the vec4 geometry functions have SIMD optimizations 2016-05-28 23:29:15 +02:00
Christophe Riccio
6ea28c83ff Fixed reflect for scalars... 2016-05-28 22:14:58 +02:00
Christophe Riccio
c8c298fef4 Added rect SIMD optimization 2016-05-28 22:09:30 +02:00
Christophe Riccio
f6810a9c0e Added SIMD optimization for geometric functions 2016-05-28 21:51:38 +02:00
Christophe Riccio
fb66c79ca4 Added SIMD optimization for geometric functions 2016-05-28 20:17:34 +02:00
Christophe Riccio
29fa0f1607 Deprecated GLM_GTX_simd_mat4, GLM_GTX_simd_vec4 and GLM_GTX_simd_quat 2016-05-28 19:34:46 +02:00
Christophe Riccio
7fe2f5fe65 Renamed instruction set flags 2016-05-28 19:26:59 +02:00
Christophe Riccio
d33e3df02a Fixed SIMD code path selection 2016-05-28 18:24:39 +02:00
Christophe Riccio
fdb985a0eb Fixed SIMD code path selection 2016-05-28 18:15:35 +02:00
Christophe Riccio
d0e746e292 Fixed SIMD code path selection 2016-05-28 17:55:24 +02:00
Christophe Riccio
9f00ba86cb Fixed SIMD code path selection 2016-05-28 17:54:37 +02:00
Christophe Riccio
ab159770b3 mad optimizations, fixed build 2016-05-28 17:12:48 +02:00
Christophe Riccio
fdec412ff7 Added FMA SIMD optimization 2016-05-28 12:31:43 +02:00
Christophe Riccio
71e6b537cc Clarify support for SSSE3, SSE4.1 and SSE4.2 2016-05-28 11:52:41 +02:00
Christophe Riccio
0ee3a79bfd Uniformalize low level SIMD API 2016-05-28 11:21:04 +02:00
Christophe Riccio
79894a58cc Added NaN and Inf SIMD optimization 2016-05-28 03:09:22 +02:00
Christophe Riccio
1381a95938 Optimized dot SIMD implementation with SSE3 2016-05-28 02:46:06 +02:00
Christophe Riccio
9c6de96669 Specialized SIMD == and != operators 2016-05-28 02:16:56 +02:00
Christophe Riccio
a9fefc7300 Added vec4 SIMD contructor specialization 2016-05-28 01:33:29 +02:00
Christophe Riccio
c5f48da319 Fixed build with compiler that doesn't support GLM_HAS_UNRESTRICTED_UNIONS 2016-05-28 00:10:18 +02:00
Christophe Riccio
ae6082db5e Added AVX2 bitwise optimization 2016-05-28 00:00:33 +02:00
Christophe Riccio
f577611328 Added bitwise inverse SIMD optimization. Factorized bitwise optimization code 2016-05-27 23:03:38 +02:00
Christophe Riccio
4797ea9540 Added specialized SSE2 and AVX bool mix 2016-05-26 02:47:43 +02:00
Christophe Riccio
740e6d6e56 Merged 0.9.7 branch 2016-05-24 23:51:02 +02:00
Christophe Riccio
767aa16e5b Updated readme for GLM 0.9.7 release 2016-05-24 22:30:51 +02:00
Christophe Riccio
72c741d8ea Fixed sign with signed integer function on non-x86 architecture 2016-05-24 13:29:18 +02:00
Christophe Riccio
1208eb63f7 Added NEON, MIPS and PowerPC detection 2016-05-23 23:35:34 +02:00
Christophe Riccio
316460408a Simplify and more consistency for files headers 2016-05-23 22:55:49 +02:00
Christophe Riccio
62d5e0ce45 Fixed build 2016-05-23 21:59:25 +02:00
Christophe Riccio
8b9d205178 Fixed build 2016-05-23 21:57:26 +02:00
Christophe Riccio
3f74efa2e0 Merge simd branch 2016-05-23 21:52:59 +02:00
Christophe Riccio
b87ead8304 Use unary bit operators for binary implementation 2016-05-23 21:47:35 +02:00
Christophe Riccio
3081b44ed2 Use unary bit operators for binary implementation 2016-05-23 21:45:08 +02:00
Christophe Riccio
d871d753dc Use unary bit operators for binary implementation 2016-05-23 21:39:33 +02:00
Christophe Riccio
5e60c54004 Use unary % operator for binary implementation 2016-05-23 21:24:59 +02:00
Christophe Riccio
eab004bfe5 vec4 add, sub, mul and div binary operators use unary operators implementation 2016-05-23 21:20:04 +02:00
Christophe Riccio
276505f409 add, sub, mul and div vec4 for specialization 2016-05-23 21:13:57 +02:00
Christophe Riccio
b5ebda89d7 Updated readme 2016-05-23 19:30:42 +02:00
Christophe Riccio
9aabeb4075 Merge branch '0.9.7' 2016-05-23 19:29:53 +02:00
Christophe Riccio
2a4c7e77d6 Added Visual C++ Clang toolset detection 2016-05-23 19:29:36 +02:00
Christophe Riccio
74367aca3c Added Visual C++ Clang toolset detection 2016-05-23 19:25:07 +02:00
Christophe Riccio
c0fc71803c Integer SSE code generation 2016-05-23 01:54:55 +02:00
Christophe Riccio
ff74b87b48 Generate SSE instructions for sub, mul and div including lowp div 2016-05-23 00:34:59 +02:00
Christophe Riccio
0e780a5efd - Use Cuda built-in function for abs function implementation with Cuda compiler 2016-05-22 18:04:32 +02:00
Christophe Riccio
cc9916b2c6 Fixed build, missing reference to inverse function 2016-05-22 17:28:18 +02:00
Christophe Riccio
6cf7389c8c Removed the glm_dummy CMake target if glm_shared or glm_static are enabled 2016-05-22 17:20:56 +02:00
Christophe Riccio
757fe39587 Removed simd precision qualifier. All precision qualifiers may generate SIMD instructions, precision may affect the generated instructions accordingly 2016-05-22 17:12:32 +02:00
Christophe Riccio
805939686c Visual C++ genenrate ASM code for GLM tests 2016-05-22 13:16:55 +02:00
Christophe Riccio
93a2f03649 Merge branch '0.9.7' 2016-05-18 22:53:00 +02:00
Christophe Riccio
dcffcbdc97 Fixed GLM_FORCE_INLINE with binary vec4 operators 2016-05-18 22:52:47 +02:00
Christophe Riccio
792151573c Fixed to_string when used with GLM_FORCE_INLINE #506 2016-05-18 22:46:58 +02:00
Christophe Riccio
a0a1dd6c35 Generate assembly with Visual C++ 2016-05-09 10:36:22 +02:00
Christophe Riccio
fd06877778 Too big bug with GCC 4.6 constexpr, haven't tried 4.7, let's see how 4.8 does 2016-05-05 21:06:27 +02:00
Christophe Riccio
60a5f4aea9 Too big bug with GCC 4.6 constexpr, haven't tried 4.7, let's see how 4.8 does 2016-05-05 20:57:37 +02:00
Christophe Riccio
a6047251be Fixed constexpr with SIMD interaction 2016-05-05 20:43:09 +02:00
Christophe Riccio
92a46735d6 Workaround GCC compiler bug with constexpr support 2016-05-05 20:05:31 +02:00
Christophe Riccio
71401d14aa Workaround GCC compiler bug with constexpr support 2016-05-05 19:58:12 +02:00
Christophe Riccio
152c71abff Workaround GCC compiler bug with constexpr support 2016-05-05 19:47:42 +02:00
Christophe Riccio
e8ff04aaec - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 15:38:35 +02:00
Christophe Riccio
2a92b65239 - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 15:14:54 +02:00
Christophe Riccio
6d302792ab - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 15:06:03 +02:00
Christophe Riccio
7e86e9bc3c - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 14:39:50 +02:00
Christophe Riccio
d52766297d - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 14:13:21 +02:00
Christophe Riccio
33bc27ddc4 - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 14:03:20 +02:00
Christophe Riccio
3df1c8755c - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 13:56:40 +02:00
Christophe Riccio
c50f3ed38e - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 13:40:11 +02:00
Christophe Riccio
d0c4bbaef7 - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 13:27:26 +02:00
Christophe Riccio
9a7b802bdc - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 13:05:15 +02:00
Christophe Riccio
7193cd2c3a - Added constexpr for *vec*, *mat*, *quat* and *dual_quat* types #493 2016-05-05 10:38:51 +02:00
Christophe Riccio
c8070624db Merge branch 'master' of https://github.com/g-truc/glm 2016-05-04 21:08:03 +02:00
Christophe Riccio
d7abee5d80 Updated readme with SIMD and swizzle interaction 2016-05-04 21:07:57 +02:00
Christophe Riccio
93612791cd Removed Apple specific check for LLVM versions 2016-05-04 18:46:59 +02:00
Christophe Riccio
20da5a25db Improved OpenMP support detection for Clang, GCC, ICC and VC 2016-05-04 18:04:44 +02:00
Christophe Riccio
ca3abd6e93 Fixed CUDA support #499, #500, #501 2016-05-04 17:05:02 +02:00
Christophe Riccio
13a997d4e1 Fixed CUDA support #499, #500, #501 2016-05-04 17:03:38 +02:00
Christophe Riccio
affd5f3ba0 Fixed CUDA compiler error in type_vec4.inl #504 2016-05-04 16:35:57 +02:00
Christophe Riccio
1f71f6fb3a Improved SIMD and swizzle operators interactions with GCC and Clang, Added raw SIMD API. 2016-05-03 23:57:41 +02:00
Christophe Riccio
aca1710c5f Fixed ignoring unknown option '/arch:SSE2' warning while compiling with Visual C++ in 64 bits with SSE3 enabled 2016-05-02 23:32:19 +02:00
Christophe Riccio
1becd76c5f Fixed build 2016-05-01 12:39:16 +02:00
Christophe Riccio
83999c749a Reorganized SIMD code 2016-05-01 12:29:11 +02:00
Christophe Riccio
96963f88cc Single file for simd specialization 2016-05-01 05:00:13 +02:00
Christophe Riccio
5f05a5e953 Clean up inverse SSE code 2016-05-01 03:42:47 +02:00
Christophe Riccio
be8d6c9ccc Fixed test 2016-05-01 01:40:06 +02:00
Christophe Riccio
fa6f5cdcbb Fixed warning 2016-05-01 01:35:54 +02:00
Christophe Riccio
a90ef1b45e Fixed warning 2016-05-01 01:31:43 +02:00
Christophe Riccio
b53cc5d098 Fixed build on non-VC compilers 2016-05-01 01:26:42 +02:00
Christophe Riccio
2f9fc55d88 More experiments to improve SIMD support 2016-05-01 01:12:22 +02:00
Christophe Riccio
7b8ed140dd Merge branch '0.9.7' 2016-04-30 16:29:01 +02:00
Christophe Riccio
306b409658 Fixed merge 2016-04-30 16:28:20 +02:00
Christophe Riccio
e9bb34fb78 - Fixed Visual C++ SIMD instruction set automatic detection in 64 bits 2016-04-30 16:27:19 +02:00
Christophe Riccio
8cf76f049b Fixed Visual C++ SIMD instruction set automatic detection in 64 bits 2016-04-30 16:23:55 +02:00
Christophe Riccio
07a5d27047 Merge branch 'type_trait' 2016-04-30 15:00:46 +02:00
Christophe Riccio
939eb940d4 Renamed GLM_RESTRICT, still unused in the code base 2016-04-30 15:00:37 +02:00
Christophe Riccio
a6b3632257 Use GLM coding convensions 2016-04-30 14:59:56 +02:00
Christophe Riccio
e913a9c68b Fixed GCC build 2016-04-30 02:07:16 +02:00
Christophe Riccio
23ab8137f9 Fixed GTX_type_trait linking 2016-04-30 01:59:46 +02:00
Christophe Riccio
01fa13380d Merge branch 'master' of https://github.com/regnirpsj/glm into type_trait 2016-04-29 23:29:09 +02:00
Christophe Riccio
6558df25e8 Merge branch 'jtg/type-traits-size' of https://github.com/JesseTG/glm into type_trait 2016-04-29 23:26:13 +02:00
Christophe Riccio
1ab28bc913 Updated copyright date 2016-04-29 17:39:20 +02:00
Christophe Riccio
b3cae39ea6 Merge 0.9.7 2016-04-29 17:37:27 +02:00
Christophe Riccio
872aa9d8ec Improved ***PowerOfTwo 2016-04-29 17:31:36 +02:00
Christophe Riccio
68ec048b70 Fixed roundPowerOfTwo and floorPowerOfTwo #503 2016-04-29 17:24:35 +02:00
Christophe Riccio
e0d312ccaf Fixed roundPowerOfTwo and floorPowerOfTwo #503 2016-04-29 10:52:04 +02:00
Christophe Riccio
76d12fb602 Fixed roundPowerOfTwo and floorPowerOfTwo #503 2016-04-29 10:51:21 +02:00
Christophe Riccio
79643cf4fa Merge 0.9.7 branch 2016-04-24 14:58:57 +02:00
Christophe Riccio
9770c9f73d Fixed uaddCarry warning #497 2016-04-24 14:56:44 +02:00
Angelica Wrangler
fd86bcd21b Merge pull request #498 from 1ace/master
Fix spelling mistakes #498
2016-04-15 23:12:18 +02:00
Hauke Rehfeld
c479e444a4 fix: cuda can use anonymous unions 2016-04-15 12:44:36 +02:00
Hauke Rehfeld
30f014472d add: CUDA in setup.hpp 2016-04-15 12:38:08 +02:00
jan p springer
e54f0cc5cd Merge remote-tracking branch 'upstream/master' 2016-04-05 23:48:48 +01:00
Eric Engestrom
ca46062bea Fix spelling mistakes 2016-04-03 00:50:25 +01:00
Christophe Riccio
66b714c418 Finishing up removing GLM_FORCE_SIZE_FUNC define and passing by copy scalars 2016-03-23 02:01:16 +05:30
Christophe Riccio
fffce8727f Merge branch 'master' of https://github.com/g-truc/glm 2016-03-19 17:11:32 +01:00
Christophe Riccio
bbe076549a Improved coding style consistency, scalars are passed by copy 2016-03-19 17:10:42 +01:00
Christophe Riccio
b0091cfbc5 Fixed readme 2016-03-19 15:38:21 +01:00
Christophe Riccio
1d9f8408e6 Merge 0.9.7 branch 2016-03-19 12:53:27 +01:00
Christophe Riccio
407d671954 Updated readme 2016-03-19 12:37:39 +01:00
Sami Kankaristo
578c4f4f9f Rename tvec1 parameters from scalar to v1/v2 2016-03-19 12:35:12 +01:00
Sami Kankaristo
ad9bfffe65 Fix operator-(), add operator+() 2016-03-19 12:35:04 +01:00
Sami Kankaristo
c7700573a4 Add missing boolean operator declarations 2016-03-19 12:34:59 +01:00
Sami Kankaristo
42b818d4bb Fix declarations (use tdualquat instead of tquat) 2016-03-19 12:34:51 +01:00
Sami Kankaristo
ece2b8b5a2 Add missing boolean operator declarations 2016-03-19 12:34:28 +01:00
Sami Kankaristo
8662a567b2 Add const & to POD to match other functions in the class 2016-03-19 12:34:09 +01:00
Sami Kankaristo
b7fef63ef8 Remove const & from POD to match other functions in class 2016-03-19 12:33:42 +01:00
Sami Kankaristo
d3036fd010 Add missing operator function definitions 2016-03-19 12:32:42 +01:00
Sami Kankaristo
785c8892d9 Add missing const to declaration 2016-03-19 12:32:24 +01:00
Christophe Riccio
6c61c332f4 Fixed missing GLM_PLATFORM_CYGWIN declaration #495 2016-03-19 12:31:19 +01:00
Christophe Riccio
61d58b0296 Fixed missing GLM_PLATFORM_CYGWIN declaration #495 2016-03-19 12:28:18 +01:00
Angelica Wrangler
93d09e0e93 Merge pull request #490 from IndiumGames/more-undefined-reference-errors
More undefined reference errors #490
2016-03-15 09:37:46 +01:00
Sami Kankaristo
99d3486e1f Rename tvec1 parameters from scalar to v1/v2 2016-03-15 03:24:53 +02:00
Sami Kankaristo
2d54f437f1 Fix operator-(), add operator+() 2016-03-15 02:38:16 +02:00
Sami Kankaristo
55d7b07e12 Add missing boolean operator declarations 2016-03-15 02:37:38 +02:00
Sami Kankaristo
131b85f4b9 Fix declarations (use tdualquat instead of tquat) 2016-03-15 02:36:33 +02:00
Sami Kankaristo
21fb034338 Add missing boolean operator declarations 2016-03-15 02:22:48 +02:00
Sami Kankaristo
236fed9d93 Add const & to POD to match other functions in the class 2016-03-15 02:21:42 +02:00
Sami Kankaristo
1e192be370 Remove const & from POD to match other functions in class 2016-03-15 02:20:15 +02:00
Christophe Riccio
7f1bb02a26 Invert when static and dynamic lib messages appears 2016-03-14 22:29:55 +01:00
jan p springer
25d6c8e341 update: date stamps + GLM_META_PROG_HELPERS pre-requiste 2016-03-14 16:37:30 +00:00
jan p springer
a5a69566b9 update: date stamps 2016-03-14 16:36:34 +00:00
jan p springer
b52156991e fixed: glm::operator<< (using a copy of #491) 2016-03-14 13:13:21 +00:00
jan p springer
ca7a4ed4fe Merge remote-tracking branch 'upstream/master' 2016-03-14 12:35:35 +00:00
Jesse Talavera-Greenberg
ae15b8982b Correct type_trait info so it doesn't conflict with the file name 2016-03-13 20:23:51 -04:00
Jesse Talavera-Greenberg
ffaa6fe7c0 Add missing cols/rows constants 2016-03-13 20:19:19 -04:00
Sami Kankaristo
798e4f0e78 Remove (old?) operator/ member functions
These don't seem to have matching definitions and they conflict with
similar functions in the glm namespace (in the same header files).
2016-03-13 21:32:41 +02:00
Sami Kankaristo
8e7a3a9053 Add missing operator function definitions 2016-03-13 21:32:33 +02:00
Sami Kankaristo
b968defd22 Add missing const to declaration 2016-03-13 21:32:06 +02:00
Christophe Riccio
07689bcc4d Fixed build, updated manual for 0.9.8 2016-03-13 13:17:51 +01:00
Christophe Riccio
234d7d4ba9 Simplify code removing GLM_FORCE_SIZE_FUNC, GLM_META_PROG_HELPERS, GLM_STATIC_CONST_MEMBERS and 'type' type trait. Added experiments for GTX_type_trait 2016-03-13 12:56:26 +01:00
Christophe Riccio
d245268c2e Merge branch '0.9.7' 2016-03-12 20:35:20 +01:00
Christophe Riccio
444cf0f36a Fixed undefined reference errors #489 2016-03-12 20:35:06 +01:00
Sami Kankaristo
e60273daff Add missing vec4 operator definitions
Also rename the parameters to match similar functions in other vector
classes.
2016-03-12 20:33:53 +01:00
Sami Kankaristo
3ec43e9522 Fix incorrect declaration (now matches definition) 2016-03-12 20:33:49 +01:00
Sami Kankaristo
a848fa69be Remove duplicate function declarations 2016-03-12 20:33:45 +01:00
Christophe Riccio
95cf1825d5 Merge branch 'master' of https://github.com/g-truc/glm 2016-03-12 20:31:29 +01:00
Angelica Wrangler
e64e77144f Merge pull request #489 from IndiumGames/undefined-reference-errors
Fixed undefined reference errors #489
2016-03-12 20:30:34 +01:00
Sami Kankaristo
3860fbaa9a Add missing vec4 operator definitions
Also rename the parameters to match similar functions in other vector
classes.
2016-03-12 18:34:50 +02:00
Sami Kankaristo
780d5f403b Fix incorrect declaration (now matches definition) 2016-03-12 18:31:43 +02:00
Sami Kankaristo
5222e0baca Remove duplicate function declarations 2016-03-12 18:30:07 +02:00
Christophe Riccio
b14e39b4cf Added target to build optional static and dynamic GLM library 2016-03-12 01:32:40 +01:00
Christophe Riccio
86c58b8b8b Added iround and uround to GTC_integer, fast round on positive values 2016-03-10 21:53:08 +01:00
Christophe Riccio
52d05aee76 Fixed build 2016-03-10 21:24:37 +01:00
Christophe Riccio
79b433e9b0 Merge branch 'master' of https://github.com/g-truc/glm 2016-03-10 21:19:35 +01:00
Christophe Riccio
c853df1638 Added uround to GTC_integer, fast round on positive values 2016-03-10 21:17:46 +01:00
Christophe Riccio
6e5f42bd28 Fixed error message type 2016-03-06 12:52:34 +01:00
Christophe Riccio
f48fe286ad Consolidate setup options in setup.hpp 2016-03-06 03:36:20 +01:00
Christophe Riccio
a391bc1be6 Clean up GTX_matrix_transform coding style 2016-03-06 02:28:21 +01:00
Christophe Riccio
ecfebe640f Clean up to close model matrix decompose #227 2016-03-06 02:13:45 +01:00
Christophe Riccio
58f432b76d Updated release note to mention #415 2016-03-06 00:18:05 +01:00
Christophe Riccio
fe18a36c10 - Added right and left handed projection and clip control support #447 #119 2016-03-06 00:16:09 +01:00
Christophe Riccio
45d18796e3 merge 0.9.7 branch 2016-03-05 23:58:38 +01:00
Christophe Riccio
66f37220c9 Merge branch '0.9.7' 2016-03-05 23:57:42 +01:00
Paul Konstantin Gerke
239cf70ade Fixed: outerProduct was defined incorrectly for unmatched vecX types. E.g. outerProduct(vec2, vec4) did not succeed because the matrix return types were wrong. The computing function seemed fine. I used https://en.wikipedia.org/wiki/Outer_product as reference on what the number of columns/rows ''should'' be and fixed it so that it matches the description from wikipedia
Added: tests for outerProduct with unmatched vector dimensions (actually testing all combinations now)
2016-03-05 23:51:20 +01:00
Paul Konstantin Gerke
b3b72527b1 Fixed: operator signatures of mat2x4 and vec4 (no guaratees that I found all issues) 2016-03-05 23:51:06 +01:00
Christophe Riccio
8e411733b2 - Fixed eulerAngles precision error, returns NaN #451 2016-03-05 23:49:07 +01:00
sippeangelo
2d813b587a This fixes #461 2016-03-05 23:46:39 +01:00
Christophe Riccio
eb33d9c188 - Fixed outerProduct defintions and operator signatures for mat2x4 and vec4 #475 2016-03-05 23:42:09 +01:00
Christophe Riccio
30ab2ee25b Fixed polar coordinates function latitude #485 2016-03-05 23:40:28 +01:00
Christophe Riccio
62717b5159 - Fixed polar coordinates function latitude #485 2016-03-05 23:36:18 +01:00
Angelica Wrangler
c9720a7f40 Merge pull request #485 from NouberNou/NouberNou-Polar-Coordinates-Fix
Fix polar coordinates function latitude. #485
2016-03-05 23:35:14 +01:00
Angelica Wrangler
8647d60086 Merge pull request #462 from sippeangelo/issue-461
eulerAngles precision error, returns NaN #462 #461
2016-03-05 23:27:51 +01:00
Angelica Wrangler
44d773ad5e Merge pull request #480 from ReadmeCritic/master
Correct the spelling of Xcode in README #480
2016-03-05 23:24:37 +01:00
Christophe Riccio
bd68af60bd - Fixed outerProduct defintions and operator signatures for mat2x4 and vec4 #475 2016-03-05 23:20:12 +01:00
Angelica Wrangler
72a8ba473d Merge pull request #475 from MrApplejuice/master
Fixed: outerProduct defintions and operator signatures for mat2x4 and vec4 #475
2016-03-05 23:18:21 +01:00
Angelica Wrangler
2783a490da Merge pull request #478 from hoodie/master
fixed a typo #478
2016-03-05 23:12:26 +01:00
Christophe Riccio
251ad15b68 Improved GLM_FORCE_EXPLICIT_CTOR coverage #481 2016-03-05 23:01:01 +01:00
Christophe Riccio
57bf985fe5 Fixed build 2016-03-05 22:29:52 +01:00
Christophe Riccio
082272421a Fixed long long warnings when using C++98 on GCC and Clang #482 2016-03-05 22:25:17 +01:00
Christophe Riccio
5fad3f437d Added more tests for ceilMultiple 2016-03-02 21:44:59 +01:00
Christophe Riccio
57316860a1 Fixed ceilMultiple test 2016-03-02 21:42:13 +01:00
Christophe Riccio
c6aa981e2a Added ceilMultiple test with integers 2016-03-02 21:32:44 +01:00
NouberNou
b189cb2f29 Fix polar coordinates function latitude.
Latitude was being computed from `atan`, should be `asin`.
2016-02-25 18:18:02 -08:00
Christophe Riccio
cb71d2376d Merge branch '0.9.7' 2016-02-21 19:40:47 +01:00
Christophe Riccio
045aa8e541 Fixed atanh warning #484 2016-02-21 19:40:24 +01:00
Christophe Riccio
4945ec7471 Merge 0.9.7 branch 2016-02-21 19:00:36 +01:00
Christophe Riccio
0d48c43385 Fixed asinh warning with C++98 STL #484 2016-02-21 18:59:26 +01:00
Christophe Riccio
1ec8ab365e Merge 0.9.7 2016-02-21 14:38:50 +01:00
Christophe Riccio
5809830f64 Get ready for 0.9.7.3 release 2016-02-21 14:36:38 +01:00
Christophe Riccio
162fad6a31 Merge branch '0.9.7' 2016-02-21 14:29:31 +01:00
Christophe Riccio
500a955d45 Fixed 64 bits constants warnings on GCC #463 2016-02-21 14:29:07 +01:00
Christophe Riccio
904db64afd Updated readme for fixed Clang build on Windows #479 2016-02-21 14:22:19 +01:00
Christophe Riccio
54ad263974 Fixed Clang on Windows build #479 2016-02-21 14:15:44 +01:00
Christophe Riccio
14e0a5576a Fixed Clang on Windows build #479 2016-02-21 14:15:17 +01:00
Christophe Riccio
907cb9d968 Fixed bad merge #483 2016-02-21 13:24:29 +01:00
ReadmeCritic
449f785a60 Correct the spelling of Xcode in README 2016-02-16 13:40:43 -08:00
Christophe Riccio
65e88d9f9d Merge 0.9.7 2016-02-15 21:13:42 +01:00
Christophe Riccio
cc2f15803e Added AVX512 detection 2016-02-15 21:11:55 +01:00
Christophe Riccio
407a7598aa Improved new version of GCC detection #477 2016-02-15 20:29:55 +01:00
Joonas Sarajärvi
bc09ecf898 setup: detect GCC 6.0 2016-02-15 20:27:10 +01:00
Angelica Wrangler
4afc6b723a Merge pull request #477 from muep/master
Setup: detect GCC 6.0 #477
2016-02-15 20:24:54 +01:00
Christophe Riccio
191e2d715b Removed CDash config 2016-02-11 00:06:05 +01:00
Christophe Riccio
1ee2f3219e Merged 0.9.7 2016-02-11 00:05:27 +01:00
Hendrik Sollich
0476be3e74 fixed a typo 2016-02-09 12:41:31 +01:00
Christophe Riccio
6ee8b03063 Fixed CMake policy warning 2016-02-09 01:18:24 +01:00
Joonas Sarajärvi
f0acbbd4ac setup: detect GCC 6.0 2016-02-04 19:42:25 +02:00
Paul Konstantin Gerke
fb309e0eff Fixed: outerProduct was defined incorrectly for unmatched vecX types. E.g. outerProduct(vec2, vec4) did not succeed because the matrix return types were wrong. The computing function seemed fine. I used https://en.wikipedia.org/wiki/Outer_product as reference on what the number of columns/rows ''should'' be and fixed it so that it matches the description from wikipedia
Added: tests for outerProduct with unmatched vector dimensions (actually testing all combinations now)
2016-01-24 21:14:25 +01:00
Paul Konstantin Gerke
2c7430e9bc Fixed: operator signatures of mat2x4 and vec4 (no guaratees that I found all issues) 2016-01-24 19:34:26 +01:00
Christophe Riccio
eb4a19805a Fixed release note 2016-01-03 18:56:10 +01:00
Christophe Riccio
8f0d854605 Release 0.9.7.2 2016-01-03 18:50:08 +01:00
Christophe Riccio
8bcc4e0045 merge 0.9.7 2016-01-03 18:46:43 +01:00
Christophe Riccio
ebdb7aa45b Added unary + operator #435 2016-01-03 18:39:40 +01:00
Christophe Riccio
1709e9abca Added unary + operator #435 2016-01-03 18:37:46 +01:00
Jesse Talavera-Greenberg
7db048b851 Move dependencies from intersect.inl to intersect.hpp 2016-01-03 18:34:51 +01:00
Christophe Riccio
268af877ab Cygwin GCC doesn't have a C++11 STL library 2016-01-03 18:32:26 +01:00
Sven-Hendrik Haase
4ea72b3128 Fix docs 2016-01-03 18:31:37 +01:00
humbletim
5d46e5186d remove extraneous test block 2016-01-03 18:30:29 +01:00
Christophe Riccio
fc1e45bbde Updated readme 2016-01-03 18:30:08 +01:00
Stephen Hill
c83add59b3 Fixed various 'X is not defined' warnings 2016-01-03 18:27:12 +01:00
Stephen Hill
ba46e0500e Fixed 'GLM_COMPILER_VC2005 is not defined' warning
This GLM compiler version isn't defined, so I just removed the legacy functions.
2016-01-03 18:27:00 +01:00
Stephen Hill
4bb352b628 Fixed "Declaration shadows a field" warning 2016-01-03 18:26:54 +01:00
Adrian Krupa
c9400562ec Fixed build 2016-01-03 18:25:45 +01:00
humbletim
52c9f124e3 Fixed ldexp and frexp compilation errors 2016-01-03 18:20:13 +01:00
Christophe Riccio
1936921ec7 Fixed log from GTX_lob_base build error with tests #470, #471 2016-01-03 18:11:55 +01:00
Sven-Hendrik Haase
a827b248ef Fix wrong docs
The function this function is a helper of is using radians. In fact, glm is using radians everywhere!
2016-01-03 18:11:37 +01:00
Christophe Riccio
a754ab2e7e Fixed ICC on Linux build errors #449 2016-01-03 18:10:46 +01:00
Christophe Riccio
adb03bee5c Fixed ICC on Linux build errors #449 2016-01-03 18:08:00 +01:00
Christophe Riccio
846e88a147 Updated version 2016-01-03 18:01:56 +01:00
Christophe Riccio
df39980121 Tentative fix for 64 bits on GCC 2016-01-03 17:36:31 +01:00
Christophe Riccio
7a1c042d8b Fixed ICC on Linux build errors #449 2016-01-03 17:10:24 +01:00
Christophe Riccio
2f2782d72a Fixed ICC on Linux build errors #449 2016-01-03 16:03:30 +01:00
Christophe R
8d4d9d1877 Merge pull request #466 from humbletim/master
Fixed ldexp compilation error #466
2016-01-01 14:34:04 +01:00
Christophe Riccio
e9febd9ee7 Fixed log from GTX_lob_base build error with tests #470, #471 2016-01-01 14:30:14 +01:00
Christophe Riccio
c49f4198bc Merge branch 'master' of https://github.com/g-truc/glm 2016-01-01 12:52:27 +01:00
Christophe R
d94b0b7971 Merge pull request #467 from svenstaro/patch-2
Fix wrong docs #467
2016-01-01 12:50:59 +01:00
Christophe R
80066569f8 Merge pull request #468 from selfshadow/fix-warnings
Fixed various xcode/clang warnings #468
2016-01-01 12:50:04 +01:00
Christophe Riccio
d269a92c2d Merge branch 'master' of https://github.com/g-truc/glm 2015-12-24 09:56:00 +01:00
Stephen Hill
47a2a6adfb Fixed various 'X is not defined' warnings 2015-12-23 12:19:13 -05:00
Stephen Hill
89cecd373a Fixed 'GLM_COMPILER_VC2005 is not defined' warning
This GLM compiler version isn't defined, so I just removed the legacy functions.
2015-12-23 12:18:14 -05:00
Stephen Hill
22467f00f8 Fixed "Declaration shadows a field" warning 2015-12-23 12:16:31 -05:00
Sven-Hendrik Haase
816b6b8c34 Fix wrong docs
The function this function is a helper of is using radians. In fact, glm is using radians everywhere!
2015-12-23 01:24:48 +01:00
humbletim
ac7ae32856 remove extraneous test block 2015-12-19 19:30:00 -05:00
humbletim
8c55a64fdd Fixed ldexp compilation error 2015-12-19 19:22:33 -05:00
sippeangelo
014a7f8404 This fixes #461 2015-12-16 16:03:37 +01:00
Christophe R
78f686b4be Merge pull request #455 from Karanlos/master
frustumLH compile error fix. #455
2015-12-06 19:59:17 +01:00
Christophe R
fec96678b8 Merge pull request #456 from adriankrupa/master
Fixed frexp compilation error #456
2015-12-06 19:57:33 +01:00
jan p springer
71f2b2f422 Merge remote-tracking branch 'upstream/master' 2015-12-02 20:13:33 +00:00
Adrian Krupa
8fd8c56074 Fixed frexp compilation error 2015-11-29 20:53:04 +01:00
Erik Sejersen
2edd8b8d44 frustumLH compile error fix. 2015-11-23 00:52:38 +01:00
Christophe R
0d2fd871af Merge pull request #447 from Karanlos/master
More right and left handed projection matrix support plus support for glClipControl GL_ZERO_TO_ONE #447
2015-11-22 11:43:21 +01:00
Christophe R
d35e3950b7 Merge pull request #452 from svenstaro/master
Fix docs #452
2015-11-22 11:40:47 +01:00
Sven-Hendrik Haase
16aba1a937 Fix docs 2015-11-22 06:48:23 +01:00
Christophe Riccio
254ea0ee24 Tentative fix for ICC errors #449 2015-11-21 11:27:09 +01:00
Erik Sejersen
8200f815bf Added left and right handedness to more projection functions and added a define for glClipControl GL_ZERO_TO_ONE 2015-11-17 14:52:50 +01:00
Christophe R
3a960f2afb Merge pull request #436 from taketwo/add-const
Add const qualifier in extractEulerAngleXYZ() #436
2015-11-17 11:01:49 +01:00
Christophe R
376732e5ae Merge pull request #437 from svenstaro/patch-1
Fix unintentional backface culling in triangle intersect #437
2015-11-17 10:58:15 +01:00
Christophe R
45f8edf2bc Merge pull request #438 from rleigh-dundee/msbuild-error
test: Don't use 'Error:' or 'error:' in test output #438
2015-11-17 10:52:40 +01:00
Christophe R
91936ed15a Merge pull request #444 from Laurie-Hedge/master
Fixed build by adding missing scope #444
2015-11-17 10:41:46 +01:00
Christophe Riccio
b51f4e8981 Added test 2015-11-14 13:25:06 +01:00
Laurie
f66c5ef004 Fixed build by adding missing scope 2015-11-07 09:08:37 +00:00
jan p springer
2547d14240 fixed: ostream operators 2015-10-29 17:56:08 +00:00
jan p springer
264f192577 added: pattern for local build directories 2015-10-29 14:42:10 +00:00
jan p springer
554999eedc merge upstream/master 2015-10-29 13:44:26 +00:00
Sven-Hendrik Haase
a75e38fb40 Remove old commented code 2015-10-23 15:58:43 +02:00
Roger Leigh
a59aaea29d test: Don't use 'Error:' or 'error:' in test output
This is parsed by msbuild when using Visual Studio project
files, and will automatically fail the build if encountered.
This is a bug (or badly designed intentional behaviour) in
msbuild.  See
  http://blogs.msdn.com/b/dsvc/archive/2012/02/29/output-from-exec-task-resulting-in-build-failure.aspx
for further details.
2015-10-22 14:25:33 +00:00
Christophe Riccio
0af2e05b1b Merge 0.9.7 branch 2015-10-22 00:32:47 +02:00
Christophe Riccio
627d36fd47 Updated GLM version 2015-10-22 00:31:15 +02:00
Christophe Riccio
f1e9c2f186 Fixed Cygwin build errors when using C++11 #405 2015-10-22 00:30:27 +02:00
Christophe Riccio
85e88a366d Cygwin GCC doesn't have a C++11 STL library 2015-10-22 00:27:10 +02:00
Sven-Hendrik Haase
e5b84bd4b4 Added changelog 2015-10-20 04:11:53 +02:00
Sven-Hendrik Haase
96b7850cab Fix unintentional backface culling in triangle intersect
This also fixes #194. The backface culling is unintentional because it is not documented anywhere and we can't give the triangle a normal so just assume the general case.
2015-10-20 04:05:58 +02:00
Sergey Alexandrov
e05935c7bd Add const qualifier in extractEulerAngleXYZ() 2015-10-18 17:41:19 +02:00
Christophe Riccio
32fc69ee11 - Added unary + operator #435 2015-10-17 04:11:52 +02:00
Christophe Riccio
5cd49977e6 Fixed build 2015-10-15 04:38:26 +02:00
Christophe Riccio
a257beb5de Added missing bvec* && and || operators 2015-10-15 04:28:08 +02:00
Christophe Riccio
560dcdbec0 Added 8bit pack and unpack to GTC_packing 2015-10-12 01:03:01 +02:00
Christophe Riccio
bb9ce516b0 Added 16bit pack and unpack to GTC_packing 2015-10-11 23:02:42 +02:00
Christophe Riccio
92a6c207bc Fixed build on C++98 compiler 2015-10-11 22:01:02 +02:00
Christophe Riccio
7f4d8c38c9 Fixed (un)packHalf 2015-10-11 21:20:37 +02:00
Christophe Riccio
04c8f05a34 Added (un)packUnorm and (un)packSnorm to GTC_packing 2015-10-10 03:04:32 +02:00
Christophe Riccio
65c8f8fcf0 Added (un)packHalf 2015-10-10 01:54:54 +02:00
Christophe Riccio
8508e099d0 Fixed compScale test 2015-10-08 23:49:43 +02:00
Christophe Riccio
273beb8779 Merge branch 'master' of https://github.com/g-truc/glm 2015-10-07 22:39:37 +02:00
Christophe Riccio
869caacac5 Merge branch 'static-const' of https://github.com/g-truc/glm into static-const 2015-10-07 22:32:59 +02:00
Christophe Riccio
9902e3014f Fixed GTX_extended_min_max build 2015-10-07 22:32:12 +02:00
Christophe R.
143c4c336a Merge pull request #429 from JesseTG/jtg/static-const
Add GLM_STATIC_CONST_MEMBERS #429
2015-10-07 22:28:49 +02:00
Christophe R.
64c86d1760 Merge pull request #428 from JesseTG/jtg/ignore-more
Let's try .gitignore again #428
2015-10-07 22:23:04 +02:00
Jesse Talavera-Greenberg
23af86ebe1 Let's try .gitignore again 2015-10-07 16:19:54 -04:00
Jesse Talavera-Greenberg
e55eb1e08b Removed ambiguity in fmat4x4 constructor 2015-10-07 16:12:45 -04:00
Jesse Talavera-Greenberg
08bf6e78c9 Renamed comp (X|Y|Z|W) template parameters in fvec4SIMD to (X|Y|Z|W)_ 2015-10-07 16:11:23 -04:00
Christophe Riccio
2d1463ced7 Fixed GTX_extended_min_max filename typo #386 2015-10-07 22:04:33 +02:00
Christophe Riccio
b0285416b0 Fixed GTX_extended_min_max filename typo #386 2015-10-07 21:58:58 +02:00
Christophe Riccio
132bccce1c Merge branch '0.9.7' 2015-10-07 21:55:22 +02:00
Christophe Riccio
4b5694a51c Fixed readme #include path #426 2015-10-07 21:55:03 +02:00
Christophe Riccio
27fa44f2b8 Fixed readme #include path #426 2015-10-07 21:53:27 +02:00
Christophe Riccio
8814ae50c9 Fixed GTX_extended_min_max filename typo #386 2015-10-07 21:49:33 +02:00
Christophe Riccio
045e5bee1a Improved GTC_reciprocal documentation 2015-10-07 21:41:05 +02:00
Christophe Riccio
8e3e6108d5 Improved GTC_random linearRand documentations 2015-10-07 21:35:28 +02:00
Christophe Riccio
1329c64f9b Updated GLM version 2015-10-07 21:28:53 +02:00
Christophe Riccio
d0c57e7afd Revert 2015-10-07 21:06:01 +02:00
lucasb-eyer
5e994bcf39 dummy.cpp CRLF->LF 2015-10-07 20:39:20 +02:00
Christophe Riccio
11f05cea58 Fixed affineInverse test #192 2015-10-07 20:38:49 +02:00
Christophe Riccio
a4ed6568be Fixed GTC_matrix_inverse affineInverse #192 2015-10-07 20:38:38 +02:00
Christophe Riccio
f384e18a78 Added tests for affineInverse #192 2015-10-07 20:38:29 +02:00
Christophe Riccio
e37fe66d5e Fixed GTC_packing unpackUnorm3x10_1x2 #414 2015-10-07 20:38:20 +02:00
Christophe Riccio
06ad5a2cd4 Fixed GTC_packing unpackUnorm3x10_1x2 #414 2015-10-07 20:37:30 +02:00
Christophe Riccio
11bfa1eff7 Fixed GTC_round 2015-10-07 20:36:59 +02:00
Sebastian Rettenberger
8af1d0ce2d Add test for floorMultiple/ceilMultiple (float only) 2015-10-07 20:34:19 +02:00
Sebastian Rettenberger
6789d897d2 Fix floorMultiple/ceilMultiple for float 2015-10-07 20:34:02 +02:00
Christophe R.
b7ee25e227 Merge pull request #423 from JesseTG/jtg/ignore-more
Small improvements to the .gitignore #423
2015-10-07 20:24:57 +02:00
Christophe R.
5ddeedc02c Merge pull request #425 from arkana-fts/master
dummy.cpp CRLF->LF #425
2015-10-07 00:31:27 +02:00
Christophe Riccio
79ceca230f Fixed compScale 2015-10-06 01:51:52 +02:00
Jesse Talavera-Greenberg
5eb7ad5d47 Add IDENTITY constants for quat and simdQuat
- Why the hell am I not studying for the test I have tomorrow
2015-10-05 19:32:19 -04:00
Jesse Talavera-Greenberg
57e6ea071d Add simdMat4 static constants
- Tests, too
2015-10-05 19:31:17 -04:00
Jesse Talavera-Greenberg
ef320a2a2f Simplify the static const definitions for vectors and quaternions
- DRY, baby!
2015-10-05 19:30:16 -04:00
Jesse Talavera-Greenberg
9604a7549f Add IDENTITY and ZERO constants for all matrices
- Tests, too
2015-10-05 19:26:30 -04:00
Jesse Talavera-Greenberg
d1cdb46cfb Wrap tquat's, simdQuat's and simdVec4's static constants in GLM_STATIC_CONST_MEMBERS
- Also, fixed indentation
2015-10-05 18:27:07 -04:00
Jesse Talavera-Greenberg
5df08dfc78 Wrap tvec4's static constants in GLM_STATIC_CONST_MEMBERS
- Fix the indentation, too
2015-10-05 18:25:01 -04:00
Jesse Talavera-Greenberg
8be318970c Wrap tvec3's static constants in GLM_STATIC_CONST_MEMBERS
- Fixed the indentation, too
2015-10-05 18:24:31 -04:00
Jesse Talavera-Greenberg
4552ec737e Wrap tvec2's static constants in GLM_STATIC_CONST_MEMBERS 2015-10-05 18:23:18 -04:00
Jesse Talavera-Greenberg
5a60b3986b Wrap tvec1's static constants in GLM_STATIC_CONST_MEMBERS 2015-10-05 18:22:43 -04:00
lucasb-eyer
91ae754aa5 dummy.cpp CRLF->LF 2015-10-05 23:16:38 +02:00
Jesse Talavera-Greenberg
a92ed0cdf5 Add static constants to quat, simdVec4, and simdQuat
- No tests, though
2015-10-02 18:36:27 -04:00
Jesse Talavera-Greenberg
02b011651b Add static constants to vec4
- Tests, too
2015-10-02 18:34:53 -04:00
Jesse Talavera-Greenberg
25bd7014b0 Add static constants for vec3
- Tests, too
2015-10-02 18:34:17 -04:00
Jesse Talavera-Greenberg
b42a46d246 Add static constants for vec2
- Tests, too
2015-10-02 18:33:14 -04:00
Jesse Talavera-Greenberg
b8ff59a61b Add static constants for vec1
- Tests, too
2015-10-02 18:32:39 -04:00
Jesse Talavera-Greenberg
06984ae0a8 Collapse the test .gitignores into just one section
- Also, it turns out the .dds textures are actually output, not input
2015-10-02 17:22:28 -04:00
Jesse Talavera-Greenberg
ae4b86f8af Add the test-built binaries to the .gitignore 2015-10-02 17:20:59 -04:00
Christophe Riccio
daaf86dcef Fixed build 2015-10-01 23:59:20 +02:00
Christophe Riccio
33e3243779 Fixed affineInverse test #192 2015-10-01 23:25:21 +02:00
Christophe Riccio
d23d909e6d Added type to identify matrix, vector and quaternion at compile time 2015-10-01 23:09:06 +02:00
Christophe Riccio
fa18ca7c2e Fixed GTC_matrix_inverse affineInverse #192 2015-10-01 22:20:30 +02:00
Christophe Riccio
ab0312be02 Added tests for affineInverse #192 2015-10-01 01:30:13 +02:00
Christophe Riccio
a77d311119 Added packF3x9_E1x5 and unpackF3x9_E1x5 to GTC_packing for RGB9E5 #416 2015-10-01 00:43:37 +02:00
Christophe Riccio
7f6e60864a Fixed GTC_packing unpackUnorm3x10_1x2 #414 2015-09-29 01:25:02 +02:00
Christophe Riccio
d649b97250 Updated project using OpenGL 2015-09-29 01:24:36 +02:00
Christophe Riccio
cb5a2a86ca Fixed GTC_packing unpackUnorm3x10_1x2 #414 2015-09-28 23:47:40 +02:00
Christophe Riccio
bc170cfc0f Fixed GTX_component_wise 2015-09-28 19:42:28 +02:00
Christophe Riccio
bc326abd50 Fixed merge 2015-09-28 19:27:53 +02:00
Christophe Riccio
26f1065429 Added compScale 2015-09-28 19:23:16 +02:00
Christophe Riccio
26590ecb0b Added compScale 2015-09-28 11:30:54 +02:00
Christophe Riccio
678d393b99 Fixed GTC_round floorMultiple/ceilMultiple #412 2015-09-28 11:19:38 +02:00
Christophe R.
518937965d Merge pull request #413 from TUM-I5/master
Fix floorMultiple/ceilMultiple for floating point values #413
2015-09-28 11:17:33 +02:00
Christophe Riccio
062e1238fa Updated projects using GLM 2015-09-27 21:55:11 +02:00
Christophe Riccio
12f0ca520d Fixed build 2015-09-25 03:20:54 +02:00
Christophe Riccio
10e28738cc Updated GLM revision 2015-09-25 03:16:59 +02:00
Christophe Riccio
2865a0e54e Fixed release note 2015-09-25 03:16:06 +02:00
Christophe Riccio
04faf66d58 Added compNormalize function to GTX_component_wise 2015-09-25 03:14:25 +02:00
Christophe Riccio
a9ab80d5fd Added compNormalize function to GTX_component_wise 2015-09-25 03:14:11 +02:00
Christophe Riccio
998feff87e Added GTX_float_normalize 2015-09-25 02:39:41 +02:00
Sebastian Rettenberger
fa6fd748c0 Add test for floorMultiple/ceilMultiple (float only) 2015-09-23 12:03:44 +02:00
Sebastian Rettenberger
de9e62f0a4 Fix floorMultiple/ceilMultiple for float 2015-09-23 12:03:15 +02:00
Christophe Riccio
8f39bb8730 Removed unused func_noise.* files #398 2015-09-06 22:30:17 +02:00
Christophe Riccio
47c77475a9 - Improved overall execution time of unit tests #396 2015-09-06 22:22:20 +02:00
Christophe Riccio
72d9e61d67 Preparing GLM 0.9.7.1 release 2015-09-06 22:09:07 +02:00
Christophe Riccio
a93d09be34 Fixed builtin bitscan never being used #392 2015-09-06 22:06:26 +02:00
Christophe Riccio
af10e20f68 Fixed core_func_integer test 2015-09-06 22:03:28 +02:00
Christophe Riccio
d8d954fca0 - Fixed builtin bitscan always used even when GLM_FORCE_PURE requested #392 2015-09-06 22:02:54 +02:00
Christophe Riccio
0dd4cc4356 Fixed test 2015-09-06 21:52:22 +02:00
Christophe Riccio
d9085ff41e Udpated readme for #394 2015-09-06 21:37:50 +02:00
Christophe Riccio
bd64585574 Merge branch 'master' of https://github.com/g-truc/glm 2015-09-06 21:36:29 +02:00
Christophe Riccio
992a56089b Fixed excessive GTX_fast_trigonometry execution time #396 2015-09-06 21:36:05 +02:00
Christophe R.
7b5971c87c Merge pull request #394 from cgcostume/master
rename scalar parameters in vec1, vec2, vec3, and vec4 (fixes C4458 in MSVC 2015) #394
2015-09-04 18:10:01 +02:00
Daniel Limberger
1c6eff28fc rename scalar parameters in vec1, vec2, vec3, and vec4 2015-09-04 16:15:35 +02:00
Christophe Riccio
d7b01eb9ad Updated revision number for upcoming release 2015-08-31 22:55:00 +02:00
Christophe Riccio
e7bae9891a Improved coding style consistency 2015-08-31 22:50:24 +02:00
Christophe Riccio
bf30816e36 - Added to_string for quat and dual_quat in GTX_string_cast #375 2015-08-31 22:34:14 +02:00
Christophe Riccio
d8f7b080d0 Fixed build 2015-08-31 22:25:12 +02:00
Christophe Riccio
3356896a3a Fixed build 2015-08-31 22:21:03 +02:00
Christophe Riccio
1d266efe20 - Improved constexpr for constant functions coverage #198 2015-08-31 22:14:45 +02:00
Christophe Riccio
f92c1219ed Fixed non-identity quaternions for equal vectors #234 2015-08-31 21:56:34 +02:00
Christophe Riccio
f28708265d Merge branch 'master' of https://github.com/g-truc/glm 2015-08-31 18:57:07 +02:00
Christophe Riccio
c10df14b58 Fixed strict alignment warnings #235 #370 2015-08-31 18:55:45 +02:00
Christophe R.
7a8b532519 Merge pull request #393 from morganbengtsson/master
Update matrix_decompose.hpp #393
2015-08-31 18:18:23 +02:00
Christophe Riccio
2f4338269d Fixed reliability issue of GLM_HAS caps #377 2015-08-31 18:14:54 +02:00
Christophe Riccio
6aabe5a07d Fixed warnings 2015-08-31 18:13:46 +02:00
Christophe Riccio
70234afb49 Fixed warnings 2015-08-31 18:12:26 +02:00
Christophe Riccio
debed28149 Fixed link errors on compilers not supported default function #377 2015-08-31 18:01:51 +02:00
Christophe Riccio
be983bd7cb Added test 2015-08-31 17:33:22 +02:00
Morgan Bengtsson
497da9a7cd Update matrix_decompose.hpp
Changed documentation to show correct include file.
2015-08-28 22:13:05 +02:00
Christophe R
ebdd48fa6f Merge branch 'master' of https://github.com/g-truc/glm 2015-08-23 14:49:37 +02:00
Christophe R.
cd907a8f0f Merge pull request #385 from BryceMehring/master
Fixed C++11 standard library error message #385
2015-08-13 17:19:38 -04:00
Bryce Mehring
6f128f5983 Fixed C++11 standard library error message
When including glm/gtx/hash.hpp before any other glm header files, the
error "GLM_GTX_hash requires C++11 standard library support" is thrown
because GLM_HAS_CXX11_STL is not yet defined.
2015-08-12 22:44:32 -05:00
Christophe R.
7af366edb8 Merge pull request #380 from simonkrogmann/fix_rand_in_vc_2013
Fix rand functions throwing runtime exception for VC++ 2013 #380
2015-08-09 16:36:36 -04:00
Simon Krogmann
0092c91f42 Fix incorrect parenthesis
In VC++ 2013 this error led to a runtime exception when using
circularRand or linearRand while "Smaller Type Check" (/RTCc)
was enabled.
2015-08-09 19:08:41 +02:00
Christophe R
79f6d92c8a Added GLM_SIMD to enable automatic SIMD code generation for generic GLM types #235 #370 2015-08-09 10:50:29 +02:00
Christophe R
f9535f2398 Trying to reproduce #235 2015-08-09 00:24:38 +02:00
Christophe R.
116a9037cc Merge pull request #376 from trevex/master
Fixed typo resulting in warnings when building with -Wpedantic. #376
2015-08-05 17:59:47 +02:00
Nik Voss
d48a70d0da Fixed typo resulting in warnings when building with -Wpedantic. 2015-08-05 16:32:24 +02:00
Christophe Riccio
134166940d Added link to release tags 2015-08-02 10:35:23 +02:00
Christophe Riccio
cedaed68f6 Updated version for final 0.9.7.0 release 2015-08-02 10:23:58 +02:00
Christophe Riccio
10c3d324a3 updated API 2015-08-02 10:23:00 +02:00
Christophe Riccio
a9a552338d updated API 2015-08-02 10:22:42 +02:00
Christophe Riccio
e0c4a71016 Clean up doxygen and source 2015-08-02 01:39:00 +02:00
Christophe Riccio
96824ffcf5 Reduced doc size 2015-08-01 23:16:31 +02:00
Christophe Riccio
f8a0babec1 Updated doc 2015-08-01 23:00:53 +02:00
Christophe Riccio
bc0f5317fd Updated documentation 2015-08-01 22:54:27 +02:00
Christophe Riccio
5437d49cf2 Renamed GTC_color to GTC_color_space 2015-08-01 21:55:28 +02:00
Christophe Riccio
d6ae2fd694 Fixed matrix conversions and added unit tests #371 2015-08-01 21:40:36 +02:00
Christophe R
6ccdafb718 Updated GLM documentation 2015-08-01 20:33:33 +02:00
Christophe Riccio
1e502c0919 Fixed decompose warnings #373 2015-08-01 11:35:57 +02:00
Christophe R.
37d4ca9c4c Merge pull request #368 from JesseTG/jtg/oops-sorry
Fixed some of my own metaprogramming-helper mistakes #368
2015-07-25 23:28:38 +02:00
Christophe Riccio
afa193704c Fixed interactions with GLM_FORCE_NO_CTOR_INIT and default functions #366 2015-07-25 23:23:59 +02:00
Christophe Riccio
53e494bea9 Removed GTX_multiple 2015-07-25 23:23:03 +02:00
Christophe Riccio
a56a40e1f2 Added support of defaulted functions to GLM types, to use them in unions #366 2015-07-25 21:31:51 +02:00
Jesse Talavera-Greenberg
2a947b7ff1 Add GLM_META_PROG_HELPERS tests to each type
- Add new tests to the matrix types
- Add vector tests to use the static values instead of constants
- Wrap the quaternion tests in #ifdefs
- Add new tests to the simdMat4 and simdVec4 tests
2015-07-25 14:33:01 -04:00
Jesse Talavera-Greenberg
f46249620a Add pure typedefs to the SIMD types 2015-07-25 14:28:24 -04:00
Jesse Talavera-Greenberg
a8659bb767 Remove unused value_size static methods in simdQuat and simdVec4
- They didn't even have implementations
2015-07-25 14:26:55 -04:00
Jesse Talavera-Greenberg
c2b4e2a5c0 Change the value_type of simdVec4 and simdQuat to a float
- Having it as __m128 didn't quite feel consistent with vec4/quat
2015-07-25 14:25:26 -04:00
Jesse Talavera-Greenberg
4aa385a37a Change dualquat::components to 2, not 8 2015-07-25 14:21:31 -04:00
Jesse Talavera-Greenberg
3400352e81 Reverse the mat::rows and mat::cols fields
- Oops, I mixed up the row_type and col_type typedefs
2015-07-25 14:20:04 -04:00
Jesse Talavera-Greenberg
25bad4c78e Fix wrong name for mat2::columns
- It should really be mat2::cols
2015-07-25 14:17:59 -04:00
Christophe R.
644e567e09 Merge pull request #352 from shaxbee/master
Bump CMake version for interface target to 3.0 #352
2015-07-25 01:54:40 +02:00
Christophe Riccio
ba9dfc6485 Updated readme 2015-07-25 01:41:33 +02:00
Christophe R.
185ba74f6a Merge pull request #367 from plasmacel/master
std::hash specialization for glm::tdualquat #367
2015-07-25 01:39:49 +02:00
Christophe Riccio
f7751bfb06 Added support of defaulted functions to *vec* types #366 2015-07-25 01:24:03 +02:00
Thom de Villa
3b9e90c7b6 std::hash specialization for glm::tdualquat 2015-07-24 17:58:15 +02:00
Thom de Villa
5100bd76dc Merge pull request #4 from g-truc/master
update from g-truc
2015-07-24 17:40:12 +02:00
Christophe Riccio
063c5c7367 Fixed quaternion pow #346 2015-07-24 02:11:55 +02:00
Christophe Riccio
f602c8e7ad Updated _MAYBE to follow GLM conventions 2015-07-24 02:02:24 +02:00
Christophe R.
1b9872138d Merge pull request #358 from JesseTG/jtg/preprocessor-cleanup
Simplify some preprocessor declarations #358
2015-07-24 01:52:26 +02:00
Christophe R.
5eef9a648e Merge pull request #365 from dustin-biser/patch-1
Fixed GTX_norm documentation #365
2015-07-24 01:49:22 +02:00
Christophe Riccio
b55ff22719 Fixed test 2015-07-24 01:47:54 +02:00
Christophe Riccio
034d32c376 Fixed tests 2015-07-24 01:32:51 +02:00
Christophe Riccio
562ab0b559 Test fix and warning fixes #364 2015-07-24 01:24:28 +02:00
Christophe R.
e07a6d15c4 Merge pull request #359 from JesseTG/jtg/more-gitignore
Improve the .gitignore #359
2015-07-24 01:18:02 +02:00
Dustin Biser
386357f612 Update norm.hpp
Fixed documentation typo for distance2 functions
"Returns the squared distance between p0 and p1, i.e., length(p0 - p1)"
changed to
"Returns the squared distance between p0 and p1, i.e., length2(p0 - p1)"
2015-07-22 11:31:45 -04:00
Jesse Talavera-Greenberg
467c386e97 Improve the .gitignore
- More crap ignored
- Some of it may be specific to me
- I can't be the only one out there who uses Qt Creator
2015-07-20 20:25:39 -04:00
Jesse Talavera-Greenberg
9cc7dc1763 Simplify GLM_FORCE_EXPLICIT_CTOR declarations
- Instead of wrapping the declarations, use a macro for the keyword "explicit"
2015-07-20 20:18:24 -04:00
Jesse Talavera-Greenberg
c2078afc12 Simplify the constexpr declarations of the GLM_META_PROG_HELPERS
- No repetition
- Half the size
2015-07-20 20:15:45 -04:00
Jesse Talavera-Greenberg
6d1ddc8980 Define MAYBE macros for explicit and constexpr
- So we can wrap less code in macros
2015-07-20 20:11:33 -04:00
Christophe Riccio
ac21d7bdad Fixed use of libstdc++ with Clang #351 2015-07-19 17:59:21 +02:00
Christophe Riccio
9e2f6dfc7f Fixed Intel compiler build error on Linux #354 2015-07-19 17:38:41 +02:00
Christophe Riccio
1e0cf75b2f More testing 2015-07-19 16:55:27 +02:00
Christophe Riccio
f96887863d Added a heap allocation test 2015-07-19 16:41:07 +02:00
Christophe Riccio
76bd630bbd Fixed isfinite with C++98 compilers #343 2015-07-19 16:32:36 +02:00
Christophe Riccio
056d6bd95e fixed typo #344 2015-07-19 15:55:44 +02:00
Christophe Riccio
dcfddb75b8 Updated list of compiler versions 2015-07-19 02:36:53 +02:00
Christophe Riccio
9539174494 Fixed build 2015-07-19 02:07:55 +02:00
Christophe Riccio
4f7afb272f Fixed GCC build, GLM_META_PROG_HELPERS unsupported with GCC 4.6 2015-07-19 01:46:49 +02:00
Christophe Riccio
02d7be8531 Improved packing code to give vectorization a chance 2015-07-19 01:20:20 +02:00
Christophe Riccio
6887df4d39 Merge branch 'fix-type-punning' of https://github.com/cneumann/glm into union 2015-07-19 01:08:04 +02:00
Christophe Riccio
c90f7b0973 Fixed build 2015-07-19 01:04:07 +02:00
Christophe Riccio
6f1b7c24ce Fixed build 2015-07-19 00:34:59 +02:00
Christophe Riccio
12328983ae Updated changelog #349 2015-07-19 00:29:56 +02:00
Christophe Riccio
2005679652 Merge pull request #349 from JesseTG/jtg/gitignore
Add .gitignore #349
2015-07-19 00:28:49 +02:00
Christophe Riccio
38c9cd6cba Added GLM_META_PROG_HELPERS #350 2015-07-19 00:25:33 +02:00
Christophe Riccio
47deb9709c Merge pull request #350 from JesseTG/jtg/template-convenience
Add static components and prec members to all vector and quat types #350
2015-07-18 23:49:29 +02:00
Christophe Riccio
357eaf7071 Fixed warnings 2015-07-18 10:00:00 +02:00
Zbigniew Mandziejewicz
eaefcc6689 Bump CMake version for interface target to 3.0 2015-07-06 19:43:45 +08:00
Jesse Talavera-Greenberg
38f63d3943 Add static rows, cols, prec, and components fields to all matrix types 2015-07-03 15:21:11 -04:00
Jesse Talavera-Greenberg
5d05c8c1f7 Correct component amounts for simqQuat and simdVec4 2015-07-03 15:00:37 -04:00
Jesse Talavera-Greenberg
a9c26d065b Add static components and prec members to all vector and quaternion types 2015-07-03 14:57:46 -04:00
Jesse Talavera-Greenberg
e601191ed2 Add .gitignore 2015-07-03 12:48:22 -04:00
Christophe Riccio
98a736bcf1 Merge pull request #341 from morganbengtsson/master
Fixed Small documentation mistake in intersect.hpp, plane instead of triangle. #341
2015-06-28 14:25:07 +02:00
Christophe Riccio
0141954756 Added mirror repeat 2015-06-27 20:12:27 +02:00
Christophe Riccio
ff1f50bb15 Added GTX_wrap 2015-06-27 19:36:03 +02:00
Christophe Riccio
08eedc6209 Added experiment for new fastCos. More sRGB tests. 2015-06-27 18:36:17 +02:00
Carsten Neumann
2ee6151a40 Use unions for type punning
Fixes #334
2015-05-18 12:20:55 -05:00
morgan
d69aa08187 Small documentation mistake in intersect.hpp, plane instead of triangle. 2015-05-16 12:29:37 +02:00
Christophe Riccio
83409a0720 Merge pull request #335 from shaxbee/master
Improve compatibility with old CMake versions #335
2015-05-04 09:50:39 +02:00
Zbigniew Mandziejewicz
60ccb43b14 Improve compatibility with old CMake versions 2015-05-03 15:00:02 +08:00
Christophe Riccio
d7fa6d318c - Removed -m64 causing build issues on Linux 32 #331 2015-05-02 00:26:12 +02:00
Christophe Riccio
25ccac2fd3 Fixed release note 2015-05-02 00:08:47 +02:00
Christophe Riccio
c1377bc360 - Clarified manual regarding angle unit in GLM, added FAQ 11 #336 2015-05-02 00:07:35 +02:00
Christophe Riccio
ea36f44294 Fixed perspective fovy argument documentation #327 2015-05-01 23:46:09 +02:00
Christophe Riccio
0d1e2d5e8a Updated release note for Added master branch continuous integration service on Linux 64 #332 2015-05-01 23:37:48 +02:00
Christophe Riccio
3a1c510999 Updated lastest release in readme.md 2015-05-01 22:42:30 +02:00
Christophe Riccio
909e3c2e29 Updated lasest release. 2015-05-01 22:35:05 +02:00
Christophe Riccio
b05536dee8 Added link to releases 2015-05-01 22:32:13 +02:00
Christophe Riccio
08937e2702 Added lastest release on release.md 2015-05-01 22:25:24 +02:00
Christophe Riccio
6b47f41387 Fixed automated tests compiler versions 2015-05-01 21:39:36 +02:00
Christophe Riccio
303a523325 Fixed C++98 build 2015-05-01 20:49:58 +02:00
Christophe Riccio
084804111e Fixed CMake build on 2.8 versions 2015-05-01 20:40:45 +02:00
Christophe Riccio
476ea7bbe1 Merge pull request #324 from shaxbee/master
Export glm as interface library for CMake 2.8.12 and newer #324
2015-05-01 20:20:50 +02:00
Christophe Riccio
df8cd22706 Fixed specifier removal by 'std::make_pair<>' #333 2015-05-01 20:01:07 +02:00
Christophe Riccio
5f784d812a Updated readme.md with more link 2015-05-01 19:40:03 +02:00
Christophe Riccio
7cdc3aa4e0 Updated readme.md formatting 2015-05-01 16:58:02 +02:00
Christophe Riccio
376ca3351f Updated readme.md 2015-05-01 16:46:45 +02:00
Christophe Riccio
ff05442b0b Updated readme.md 2015-05-01 16:22:00 +02:00
Christophe Riccio
3164671f77 Updated readme.md 2015-05-01 16:19:21 +02:00
Christophe Riccio
6309159683 Updated readme.md 2015-05-01 16:16:36 +02:00
Christophe Riccio
20d1e6b06a Updated readme.rd 2015-05-01 16:07:48 +02:00
Christophe Riccio
1fe65522c9 Added GLM description to GLM readme.md 2015-05-01 15:46:53 +02:00
Christophe Riccio
d1f36ac419 Added logo 2015-05-01 15:30:52 +02:00
Christophe Riccio
7f291cdbeb Renamed readme.md 2015-05-01 15:05:16 +02:00
Christophe Riccio
099bef4d16 Fixed GCC build 2015-05-01 14:48:55 +02:00
jan p springer
e590111375 added: 'operator<<(std::pair<tmat4x4<T,P>, tmat4x4<T,P>>)' routed to 'operator<<(std::pair<tmat4x4<T,P> const, tmat4x4<T,P> const>)' to avoid specifier removal by 'std::make_pair<>' and follow-up type-deduction problems; see [http://stackoverflow.com/questions/29985791/] 2015-05-01 13:42:56 +01:00
Christophe Riccio
a472f50767 Fixed C++98 build 2015-05-01 14:13:48 +02:00
Zbigniew Mandziejewicz
37f7df3dc0 Simplified build tree CMake config 2015-04-10 00:04:52 +08:00
Zbigniew Mandziejewicz
29940ee443 Export build tree package 2015-04-09 11:20:58 +08:00
Zbigniew Mandziejewicz
62a7daddcf Removed obsolete FindGLM 2015-03-30 01:39:27 +08:00
Zbigniew Mandziejewicz
288d1af309 Export glm as interface library for CMake 2.8.12 and newer 2015-03-29 12:12:48 +08:00
Christophe Riccio
e1c3c531dd Fixed warnings 2015-03-16 23:29:13 +01:00
Christophe Riccio
f51bcc70cc Added <glm/gtx/hash.hpp> to perform to perform std::hash on GLM types #320 2015-03-15 23:52:22 +01:00
Christophe Riccio
61e9b88db0 Merge pull request #320 from plasmacel/master
Add std::hash support for glm types (with precision support) #320
2015-03-15 22:49:29 +01:00
Christophe Riccio
102c223aa2 Don't show status message in 'FindGLM' if 'QUIET' option is set. #317 2015-03-15 21:50:46 +01:00
Christophe Riccio
7cd4a531ec Merge pull request #317 from camio/find_quietly
Don't show status message in 'FindGLM' if 'QUIET' option is set. #317
2015-03-15 21:48:51 +01:00
Christophe Riccio
a8203ac034 Fixed multi-line comment warning in g++. #315 2015-03-15 21:45:57 +01:00
Christophe Riccio
ee222f4bfc Merge pull request #315 from BryceMehring/master
Fixed multi-line comment warning in g++. #315
2015-03-15 21:40:17 +01:00
Christophe Riccio
3252b53841 Added functions eulerAngleXYZ and extractEulerAngleXYZ #311 2015-03-15 21:36:56 +01:00
Christophe Riccio
14c3673b39 Merge pull request #311 from jzrake/master
Add functions eulerAngleXYZ and extractEulerAngleXYZ #311
2015-03-15 21:34:52 +01:00
Christophe Riccio
417676566e Fixed (u)int64 MSB/LSB handling on BE archs #306 2015-03-15 21:31:51 +01:00
Christophe Riccio
05eac3c8b2 Merge pull request #306 from jcajka/master
Fixed (u)int64 MSB/LSB handling on BE archs #306
2015-03-15 21:27:35 +01:00
Thom de Villa
b1c45d3ce3 add precision support to std::hash glm specializations 2015-03-07 14:25:59 +01:00
Thom de Villa
36e2bdd294 comment fix 2015-03-07 14:04:56 +01:00
Thom de Villa
44c3453c84 std::hash support for glm types
std::hash template specializations implemented for vec, quat and mat
types
2015-03-07 14:01:55 +01:00
Thom de Villa
23007136cf Merge pull request #3 from g-truc/master
sync
2015-03-07 13:44:48 +01:00
David J. Sankel
5ac752262a Don't show status message in 'FindGLM' if 'QUIET' option is set.
The 'QUIET' option of 'find_package' sets the 'GLM_FIND_QUIETLY' option.
This patch makes FindGLM suppress output when this is the case.
2015-02-26 11:12:02 -07:00
BryceMehring
47116d8c28 Fixed multi-line comment warning in g++. 2015-02-22 14:32:55 -06:00
Christophe Riccio
f380d9e6f4 Updated readme #314 2015-02-22 21:28:44 +01:00
Christophe Riccio
88f4a5ed82 Merge pull request #314 from amc522/master
Left handed perspective and lookAt functions #314
2015-02-22 21:22:41 +01:00
Aaron Cooper
982e395331 Accidentally changed spaces to tabs. Reverting that change. 2015-02-21 14:43:07 -05:00
Aaron Cooper
490cfbea3a Added left handed functions for perspective, perspectiveFov, and lookAt. 2015-02-21 14:39:45 -05:00
Christophe Riccio
dc86af5d29 Merge 0.9.6 2015-02-19 12:04:37 +01:00
Christophe Riccio
7e6b502639 Fixed default precision for quat and dual_quat type #312 2015-02-19 11:57:35 +01:00
plasmacel
b94aa556c5 add default precision to quat type 2015-02-19 11:51:41 +01:00
Christophe Riccio
a131b4e5dc Merge pull request #312 from plasmacel/master
default precision for quat type #312
2015-02-19 11:36:33 +01:00
plasmacel
62658e8dce add default precision to quat type 2015-02-17 07:05:37 +01:00
plasmacel
69a824c478 Merge pull request #2 from g-truc/master
update
2015-02-17 07:03:37 +01:00
Jonathan Zrake
d3313421c6 Add functions eulerAngleXYZ and extractEulerAngleXYZ 2015-02-15 14:39:02 -05:00
Christophe Riccio
6af33a31fd Merged 0.9.6 branch 2015-02-15 16:35:46 +01:00
Christophe Riccio
ba68939dec Updated readme for 0.9.6.4 2015-02-15 16:32:26 +01:00
Christophe Riccio
7b9c7008eb Updated version 2015-02-15 16:30:39 +01:00
Christophe Riccio
567157fc8c Updated version 2015-02-15 16:23:13 +01:00
Christophe Riccio
09241ec000 Updated readme 0.9.6.3 2015-02-15 16:12:54 +01:00
Christophe Riccio
9a8cffd83a Fixed Android doesn't have C++ 11 STL #284 2015-02-15 15:33:14 +01:00
Christophe Riccio
042270d049 Added 'fmod' overload to GTX_common with tests, Removed integer specification for 'mod' in GTC_integer #308 2015-02-15 12:38:23 +01:00
Christophe Riccio
7844332816 Fixed memory corruption (undefined behaviour) #303 2015-02-14 13:56:48 +01:00
Christophe Riccio
f1d4c39622 Fixed memory corruption (undefined behaviour) #303 2015-02-14 01:11:10 +01:00
Christophe Riccio
594380dcb6 Merge 0.9.6 2015-02-14 00:52:30 +01:00
Christophe Riccio
49cf8d8964 Disable GLM_HAS_TRIVIAL_QUERIES 2015-02-14 00:51:10 +01:00
Christophe Riccio
cb427b053d 64 bits GCC build 2015-02-14 00:50:00 +01:00
Christophe Riccio
7751bd4af4 Fixed MinGW32 build 2015-02-14 00:19:47 +01:00
Christophe Riccio
d33974afa6 Fixed warning 2015-02-13 23:24:12 +01:00
Christophe Riccio
c279ed0ef9 Specialized integer implementation of YCoCg-R #310 2015-02-13 18:23:14 +01:00
Christophe Riccio
c51422c375 Merge pull request #310 from Mokosha/SpecializeYCoCg
Specialize integer implementation of YCoCg-R to use bitshifts #310
2015-02-13 17:54:43 +01:00
Pavel Krajcevski
2ba1ae95c2 Remove testing #ifdefs 2015-02-13 00:30:25 -08:00
Pavel Krajcevski
a53696a2dc Specialize template for integer YCoCgR conversion to use bitshifts 2015-02-13 00:22:03 -08:00
Christophe Riccio
387df50459 Updated GTC_color 2015-02-12 21:21:50 +01:00
Christophe Riccio
3ea110b44d Added GTC_color documentation 2015-02-11 00:14:17 +01:00
Christophe Riccio
40d0bc2e85 Added GTC_color, rgbToSrgb and srgbToRgb with tests 2015-02-10 23:49:49 +01:00
Christophe Riccio
72691336c7 Fixed functions not inlined with Clang #302 2015-02-10 01:00:25 +01:00
Christophe Riccio
2fc4532931 Fixed functions not inlined with Clang #302 2015-02-10 00:59:57 +01:00
Christophe Riccio
3b93835801 Merge branch '0.9.6' 2015-02-10 00:06:07 +01:00
Christophe Riccio
d8576b94f3 Clarify GLM licensing 2015-02-10 00:05:34 +01:00
Christophe Riccio
4ad2ad84a8 Merge pull request #301 from regnirpsj/master
added: operator<< for tvec1<> #301
2015-02-09 23:05:10 +01:00
Christophe Riccio
93d07fdc39 Merge 0.9.6 branch 2015-02-09 22:30:29 +01:00
Christophe Riccio
ade5ad88fd Updated readme 2015-02-09 22:19:36 +01:00
Christophe Riccio
969daee26d Merge pull request #307 from aubreyrjones/intel_has_include_fix
Changed usage of __has_include to support Intel compiler. #307
2015-02-09 22:08:20 +01:00
Christophe Riccio
19066e9940 Added partial constexpr support detection 2015-02-09 22:02:03 +01:00
Aubrey R. Jones
5d421b27b2 Changed usage of __has_include to support Intel compiler.
Intel compiler supports __has_include, but does not support angle brackets in the argument. Clang and Intel both accept quotes with seemingly identical semantics to one another, and to angle brackets. Only difference appears to be that `icpc` no longer crashes trying to compile code using glm.
2015-02-05 11:08:43 -07:00
Jakub Čajka
8977e6d010 Fixed (u)int64 MSB/LSB handling on BE archs 2015-01-28 09:57:55 +01:00
Christophe Riccio
fad35c4e87 Removed temp file that should not have been commited 2015-01-25 21:09:17 +01:00
Christophe Riccio
387f931feb Fixed Visual C++ 2015 constexpr errors: Disabled only partial support 2015-01-25 21:06:07 +01:00
jan p springer
d30aba45e0 added: operator<< for tvec1<> 2015-01-14 22:10:55 +00:00
Christophe Riccio
4eec569f92 Disabled GTX_scalar_multiplication for GCC, failing to build tests #242 2015-01-10 13:45:41 +01:00
Christophe Riccio
fe0de059b8 Cleaned up C++11 feature detections 2015-01-10 13:44:57 +01:00
Christophe Riccio
0ceb9e9394 packing function clean up #292 2015-01-09 23:57:22 +01:00
Christophe Riccio
8b09606c7b Merge 0.9.6 branch 2015-01-09 23:17:32 +01:00
Christophe Riccio
d9290d7887 Fixed GTC_packing *pack*norm*x* build and added tests #292 2015-01-09 23:14:10 +01:00
Christophe Riccio
025a4c79ff Fixed bug #293 2015-01-09 19:55:11 +01:00
Christophe Riccio
3226580a36 Merge 0.9.6 branch 2015-01-09 19:52:47 +01:00
Christophe Riccio
1e0825028e Fixed Visual Studio natvis support for vec4 #288, Added Visual Studio natvis support for vec1, quat and dualqual types 2015-01-09 01:37:16 +01:00
Christophe Riccio
ed3d8e17e4 Fixed warnings in F2x11_1x10 packing function in GTC_packing #295 2015-01-08 23:50:06 +01:00
Christophe Riccio
97adb6e498 Fixed readme 2015-01-08 23:42:09 +01:00
Christophe Riccio
54dbea6258 Fixed mat4x3 = mat2x3 * mat4x2 operator #297 2015-01-08 23:38:59 +01:00
Christophe Riccio
1dce8bf200 Removed assert for perspective with zFar < zNear #298 2015-01-08 22:53:21 +01:00
Christophe Riccio
740dc48ce7 Merge pull request #294 from jonathonracz/0.9.6
Decompose Function VS2010 Templating Issues #294
2015-01-07 12:42:43 +01:00
Christophe Riccio
12e542250c Added packing test 2014-12-30 18:30:24 +01:00
Christophe Riccio
07913880c4 - Fixed conflict with Xlib #define True 1 #293 2014-12-30 14:48:25 +01:00
Jonathon Racz
dd948d3cc2 Fixed inconsistency in templated value 2014-12-29 22:57:51 -05:00
Jonathon Racz
2d30a6e21a Fixed VS2010 templating issues with decompose function caused by ambiguous type conversions and constants. 2014-12-29 17:58:16 -05:00
Christophe Riccio
2336264f4e Added ARM instruction set detection 2014-12-20 17:16:52 +01:00
Christophe Riccio
2ddfbd23c6 Merge 0.9.6 changes 2014-12-19 23:55:34 +01:00
Christophe Riccio
fc8b4404f0 Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
Christophe Riccio
d5753fe37a Added display of GLM version with other GLM_MESSAGES 2014-12-19 21:05:05 +01:00
Christophe Riccio
4340f3fa6f Fixed C++ language restriction using GLM_FORCE_CXX** 2014-12-10 21:29:41 +01:00
Christophe Riccio
635f607b86 All 32 bits VC version doesn't support 64 bit intrinsics 2014-12-10 09:51:51 +01:00
Christophe Riccio
bc76648f8e VC2015 still doesn't fully support C++11 2014-12-10 09:48:00 +01:00
Christophe Riccio
a8237ccb31 Fixed warnings 2014-12-10 09:41:32 +01:00
Christophe Riccio
2117c53dbf Fixed conflict between GTX_compatibility and GTC_quaternion #286 2014-12-10 09:39:23 +01:00
Christophe Riccio
c556770a32 Fixed C++98 only build 2014-12-10 02:52:30 +01:00
Christophe Riccio
5331b67ad0 Clean up GLM_MESSAGES compilation log to report only detected capabilities 2014-12-10 02:27:13 +01:00
Christophe Riccio
abcc46012a Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags, Added C++14 detection 2014-12-10 01:55:26 +01:00
Christophe Riccio
e4ccd06e29 Second set of fixes for Android #284 2014-12-09 23:54:03 +01:00
Christophe Riccio
c02d031eaf Fixed merge 2014-12-09 10:57:21 +01:00
Christophe Riccio
2ac05f11e0 Merge branch '0.9.6' 2014-12-08 23:55:23 +01:00
Christophe Riccio
ff006034df Fixed unsupported _BitScanForward64 and _BitScanReverse64 in VC10, Fixed Visual C++ 32 bit build #283 2014-12-08 23:49:14 +01:00
Christophe Riccio
459fe3a3fe Fixed Android build issue, STL C++11 is not supported by the NDK #284 2014-12-08 23:21:59 +01:00
Christophe Riccio
c1180c804c New organization idea for SIMD support 2014-12-08 22:29:12 +01:00
Christophe Riccio
bcf1a72392 Fixed libc++ detection #284 2014-12-08 21:45:14 +01:00
Christophe Riccio
732b40c251 Fixed 64 bits integer GTX_string_cast to_string on VC 32 bit compiler 2014-12-05 18:09:48 +01:00
Christophe Riccio
e1a9702097 Fixed GTC_integer test 2014-12-04 22:47:30 +01:00
Christophe Riccio
bd2601f12a Removed warnings 2014-12-04 00:27:49 +01:00
Christophe Riccio
f026e722ee Fixed missing explicit convertion when using integer log2 with *vec1 types 2014-12-03 23:23:24 +01:00
Christophe Riccio
38d99978ab Fixed C++11 explicit conversion operators detection #282 2014-12-03 21:48:41 +01:00
Christophe Riccio
6a1a673b41 Fixed C++11 explicit conversion operators detection #282 2014-12-03 14:55:47 +01:00
Christophe Riccio
09083fef05 Added more log2 tests 2014-12-02 20:48:26 +01:00
plasmacel
c927fa8c2d Merge pull request #1 from g-truc/master
pull glm 0.9.6
2014-12-01 23:36:15 +01:00
Christophe Riccio
28aba540ee Fixed scalar uaddCarry build error with Cuda #276 2014-12-01 20:27:56 +01:00
Christophe Riccio
540831cbe1 Updated version for 0.9.7 branch 2014-12-01 00:32:51 +01:00
Christophe Riccio
f680d14612 Updated version for next release 2014-12-01 00:30:02 +01:00
Christophe Riccio
7af5ec8959 Fixed build 2014-11-30 22:06:39 +01:00
Christophe Riccio
6285ed64d3 Updated API 2014-11-30 21:57:58 +01:00
Christophe Riccio
a1e34d02ff Merge branch 'master' of https://github.com/g-truc/glm 2014-11-30 17:00:21 +01:00
Christophe Riccio
0d73f61828 Deprecate GTX_bit 2014-11-30 16:59:49 +01:00
Christophe Riccio
a4faeceb99 Fixed warnings 2014-11-29 23:16:13 +01:00
Christophe Riccio
57262d1a67 Fixed dependences 2014-11-29 23:08:50 +01:00
Christophe Riccio
54c84606f4 Fixed CUDA compilation error #276 2014-11-29 22:58:00 +01:00
Christophe Riccio
ff3872c859 Reducing header dependences 2014-11-29 22:57:33 +01:00
Christophe Riccio
67964bfd0a Matching headers and implementations 2014-11-29 22:13:30 +01:00
Christophe Riccio
25a57418bd Updated readme and doc 2014-11-29 21:48:35 +01:00
Christophe Riccio
a290603a9c Fixed clang test 2014-11-29 21:16:20 +01:00
Christophe Riccio
83ad80d6b4 Fixed clang build 2014-11-29 20:52:53 +01:00
Christophe Riccio
a42f84ed47 Removed GLM_TEST_ENABLE_PERF 2014-11-29 20:46:58 +01:00
Christophe Riccio
0b9b157e24 Fixed test return type 2014-11-29 20:44:21 +01:00
Christophe Riccio
d79b17bcd1 Fixed test compiler error in Clang 2014-11-29 20:34:34 +01:00
Christophe Riccio
98fd37bef1 Fixed build 2014-11-29 20:28:25 +01:00
Christophe Riccio
a6b31d8fa1 Fixed test build 2014-11-29 20:21:13 +01:00
Christophe Riccio
4ee163ed79 Updated section 3.4 SIMD support 2014-11-29 20:09:33 +01:00
Christophe Riccio
cfac6e1b06 Fixed _tzcnt_u32 build, only with Windows 2014-11-29 19:10:55 +01:00
Christophe Riccio
7e81213fdd Fixed mod function specialization #281 Fixed bitscan detection 2014-11-29 18:47:58 +01:00
Christophe Riccio
9b250cc86f Fixed arch detection for Intel compiler 2014-11-29 02:43:06 +01:00
Christophe Riccio
1a2a121acb Merge pull request #279 from cjuniet/master
Fix MSVC intrinsics detection #279 #278
2014-11-29 02:19:59 +01:00
Christophe Riccio
be0c5da488 size_type and length_type for all types 2014-11-29 00:53:47 +01:00
Christophe Juniet
49b326b44a Fix MSVC intrinsics detection
MSVC and Clang support BitScanFoward and BitScanReverse only on
Windows.
2014-11-28 13:17:53 +01:00
Christophe Riccio
3ad3dbcd93 Added overview post code sample 2014-11-28 02:24:05 +01:00
Christophe Riccio
bdd723ed3b Updated deprecated compilers 2014-11-27 23:42:35 +01:00
Christophe Riccio
bbf8857349 Updated readme 2014-11-27 22:36:50 +01:00
Christophe Riccio
cdd36afdc1 Fixed build 2014-11-26 00:33:24 +01:00
Christophe Riccio
3f48ffefb0 Updated license 2014-11-26 00:27:12 +01:00
Christophe Riccio
c20df07879 Updated license 2014-11-25 22:25:24 +01:00
Christophe Riccio
39334f282c Updated doxygen for 0.9.6 API 2014-11-25 01:28:32 +01:00
Christophe Riccio
c273be264c More fixes for doxygen 2014-11-25 01:08:52 +01:00
Christophe Riccio
3aa3da0727 Deleted dead files 2014-11-25 00:58:36 +01:00
Christophe Riccio
d276bf3b98 Doxygen fixes 2014-11-25 00:56:37 +01:00
Christophe Riccio
4f5bd21a5e Doxygen doc fixes 2014-11-25 00:16:03 +01:00
Christophe Riccio
d12f833017 Updated doxygen doc 2014-11-24 23:19:03 +01:00
Christophe Riccio
d65fb97e47 Added explicit matrix cast to quaternion, updated readme #275 2014-11-24 21:45:47 +01:00
Christophe Riccio
3c0b3c4009 Merge pull request #275 from plasmacel/master
add explicit matrix conversion operators to quat #275
2014-11-24 21:37:20 +01:00
Christophe Riccio
e8fbcf76dd Optimizations of log2 for ivec4 2014-11-24 01:56:36 +01:00
plasmacel
017e97d554 Update quaternion.inl 2014-11-24 01:34:36 +01:00
plasmacel
36075c4994 Update quaternion.hpp 2014-11-24 01:33:29 +01:00
plasmacel
4581d25ec9 Update quaternion.inl 2014-11-24 01:16:07 +01:00
plasmacel
3b3dcd7d03 Update quaternion.hpp 2014-11-24 01:10:21 +01:00
Christophe Riccio
117634c7ea Fixed GCC build issue on new alignment types. More simd stuff to vec4 2014-11-23 22:13:22 +01:00
Christophe Riccio
bddce172f7 Fixed Clang and LLVM detections 2014-11-23 21:14:08 +01:00
Christophe Riccio
97182990a7 Move GTC_type_aligned to GTX extensions 2014-11-23 21:00:17 +01:00
Christophe Riccio
7621a735a3 Move GTC_type_aligned to GTX extensions 2014-11-23 20:58:09 +01:00
Christophe Riccio
c79394b899 More tests and comments for type_aligned 2014-11-23 20:44:54 +01:00
Christophe Riccio
9b96b31f0e Fixed alignment on Visual C++ 2014-11-23 13:20:14 +01:00
Christophe Riccio
5d95353dd0 Added missing types 2014-11-23 13:15:24 +01:00
Christophe Riccio
411511ca71 Completed GTC_type_aligned #266 #257 2014-11-23 12:54:44 +01:00
Christophe Riccio
b062bd9ff2 First step to add GTC_type_aligned 2014-11-23 01:02:03 +01:00
Christophe Riccio
246609b453 Fix build 2014-11-22 23:26:18 +01:00
Christophe Riccio
011a056267 Added AVX2 detection for GLM tests 2014-11-22 22:31:44 +01:00
Christophe Riccio
b5519d35ef Fixed SIMD enable for GLM tests 2014-11-22 21:26:22 +01:00
Christophe Riccio
34a98b5220 Fixed build 2014-11-22 20:33:36 +01:00
Christophe Riccio
3135560336 Updated built-in 2014-11-22 20:30:40 +01:00
Christophe Riccio
0bffce4f4b Optimized findMSB and findLSB 2014-11-22 20:14:48 +01:00
Christophe Riccio
20bdab33dd Branch free refract and reflect 2014-11-22 00:37:08 +01:00
Christophe Riccio
582ea579a3 Fixed sign for unsigned types #271 2014-11-22 00:03:39 +01:00
Christophe Riccio
38161f01f8 Further optimized glm::sign for signed and unsigned int #271 2014-11-21 23:43:48 +01:00
Christophe Riccio
f98f2b107a Merge branch 'GTC_integer' 2014-11-21 22:50:00 +01:00
Christophe Riccio
6f8bbecbf5 Updated sign 2014-11-21 22:49:39 +01:00
Christophe Riccio
826ce5c0d2 Fixed multiline comment warning comment #273 2014-11-21 22:20:45 +01:00
Christophe Riccio
2e70698fad Optimized glm::cot #272 2014-11-21 22:16:37 +01:00
Christophe Riccio
b944e3a990 Merge pull request #272 from plasmacel/master
optimized cot function implementation #272
2014-11-21 22:15:38 +01:00
Christophe Riccio
afd58dcdc5 Used std features within GLM without redeclaring 2014-11-21 22:13:04 +01:00
plasmacel
7e3dc0ae16 format fix 2014-11-21 04:30:56 +01:00
plasmacel
e637299192 implement cot as tan(pi/2 - angle) 2014-11-21 04:29:35 +01:00
Christophe Riccio
b0b84a3dc1 Optimized sign for vector types #271 2014-11-21 00:50:47 +01:00
Christophe Riccio
883d328fb8 Merge branch 'master' into GTC_integer 2014-11-20 23:39:07 +01:00
Christophe Riccio
fe20b216a0 Merge pull request #271 from plasmacel/master
fast branchless sign function #271
2014-11-20 23:37:37 +01:00
plasmacel
7def337781 Update func_common.inl 2014-11-20 15:33:28 +01:00
Christophe Riccio
4f4763600f Added log2 to GTC_integer 2014-11-19 23:09:02 +01:00
Christophe Riccio
c07b3b2acf Fixed float comparison warnings #270 2014-11-19 01:14:17 +01:00
Christophe Riccio
5b911d1eb0 Fixed float comparison warnings #270 2014-11-19 01:12:24 +01:00
Christophe Riccio
88894045af Added integer log2 test 2014-11-19 00:40:45 +01:00
Christophe Riccio
2d50df61c3 Initial structure for GTC_integer 2014-11-17 23:56:41 +01:00
Christophe Riccio
3adf263341 Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269 2014-11-17 22:59:10 +01:00
Christophe Riccio
9c62eee507 Added GLM_FORCE_EXPLICIT_CTOR 2014-11-17 21:40:17 +01:00
Christophe Riccio
1a4bc0d8a5 Added more geometric function tests 2014-11-16 20:52:54 +01:00
Christophe Riccio
393c1dae41 Clean up 2014-11-16 18:37:12 +01:00
Christophe Riccio
4e95519396 Fixed test with VC and disabled lang extension 2014-11-16 18:18:11 +01:00
Christophe Riccio
bcd33a89df Fixed build issue 2014-11-16 18:09:32 +01:00
Christophe Riccio
a66611ee62 Updated doc 2014-11-16 17:21:29 +01:00
Christophe Riccio
066bd1b1c1 Deleted unused file 2014-11-16 17:01:02 +01:00
Christophe Riccio
31cee181d1 Updated GTC extension list 2014-11-16 17:00:17 +01:00
Christophe Riccio
bc5fe52a44 Removed empty GTC_integer 2014-11-16 16:42:47 +01:00
Christophe Riccio
f8729cd4fa Fixed build on VC2010 2014-11-16 01:15:04 +01:00
Christophe Riccio
9c65087f90 Fixed build on VC2010 2014-11-16 01:13:01 +01:00
Christophe Riccio
2d48d922bd Updated VC support compilers list 2014-11-16 01:12:18 +01:00
Christophe Riccio
8d9c4596b3 Added GLM_HAS_MAKE_SIGNED for C++11 support of make_(un)signed 2014-11-15 23:31:13 +01:00
Christophe Riccio
de5dd23d2f Updated make_signed and make_unsigned for Clang fixes 2014-11-15 23:12:20 +01:00
Christophe Riccio
18b8e2fd4a Fixed Clang warnings 2014-11-15 23:03:53 +01:00
Christophe Riccio
72cbc4c065 Fixed uaddCarray and updated tests #253 2014-11-15 22:31:08 +01:00
Christophe Riccio
b90c4c430e Added GLM_HAS_TRIVIAL_QUERIES define 2014-11-15 21:59:46 +01:00
Christophe Riccio
0ff773a46a Added force CXX98 test 2014-11-15 21:59:28 +01:00
Christophe Riccio
30e7eaeb86 Clean up 2014-11-15 21:37:59 +01:00
Christophe Riccio
45645988e9 Fixed uaddCarray #253. Fixed GCC build errors. 2014-11-15 21:32:56 +01:00
Christophe Riccio
5960196ce8 Clean up white spaces, fix build with VC15 2014-11-15 20:36:53 +01:00
Christophe Riccio
6eb5529395 Clean up 2014-11-15 20:11:38 +01:00
Christophe Riccio
372d75dbe8 Clean up 2014-11-15 19:16:58 +01:00
Christophe Riccio
991427f671 Clean up 2014-11-15 19:15:34 +01:00
Christophe Riccio
1dea9c5e34 Clean up 2014-11-15 19:13:25 +01:00
Christophe Riccio
85a6c8fc08 Avoid useless initialization 2014-11-15 19:00:06 +01:00
Christophe Riccio
6a50a87a75 Clean up 2014-11-15 18:58:59 +01:00
Christophe Riccio
0b39c3b911 Clean up 2014-11-15 18:54:29 +01:00
Christophe Riccio
9914308726 Clean up 2014-11-15 18:45:13 +01:00
Christophe Riccio
db4be24897 Fixed test build on ICC 2014-11-15 13:19:35 +01:00
Christophe Riccio
3716995414 Fixed white spaces 2014-11-15 00:56:14 +01:00
Christophe Riccio
141c1856a7 Removed <iostream> in GLM tests, use <cstdio> instead 2014-11-15 00:49:12 +01:00
Christophe Riccio
d606eaf2da Clean up white spaces 2014-11-15 00:32:40 +01:00
Christophe Riccio
191dbe92dc Added dualquat trivially copyable test. #263 2014-11-15 00:30:28 +01:00
Christophe Riccio
16a0c960f7 Move more performance tests inside GLM_PERF_ENABLE 2014-11-15 00:20:56 +01:00
Christophe Riccio
0b8ca1a5b6 Added a CMake option to execute GLM performance tests. Made quat and dualquat trivially constructible #263 2014-11-15 00:05:52 +01:00
Christophe Riccio
b7b8b18f83 performance test for fast_trigonometry #265 2014-11-14 21:36:59 +01:00
Christophe Riccio
cfce5f436c Merge more precision for fastCos and fastSin #264 2014-11-14 21:28:58 +01:00
Christophe Riccio
c1f47f4c7d Fixed distance function return type #267 2014-11-14 21:03:14 +01:00
Christophe Riccio
c36f3630eb Fixed glm::mask function and tests 2014-11-14 02:01:46 +01:00
Christophe Riccio
a604ebdaa5 Fixed build 2014-11-13 00:08:13 +01:00
Christophe Riccio
2df3bf71cc Merge branch 'trivial' into bitfield 2014-11-12 23:11:32 +01:00
Christophe Riccio
062ee19ac7 Fixed bitfieldInsert and bitfieldExtract 2014-11-12 22:48:15 +01:00
Christophe Riccio
debe75a6e1 Added trivially copyable test 2014-11-12 21:45:12 +01:00
Christophe Riccio
f09888a090 Reverse #257, breaking many vec4 types size (i8vec4, u16vec4 etc) 2014-11-12 21:20:17 +01:00
Christophe Riccio
ee84420f6c All *mat* types are copyable #263 2014-11-10 01:16:48 +01:00
Christophe Riccio
838bdee3c3 All *vec* types are copyable #263 2014-11-10 00:04:47 +01:00
Mathias Labeyrie
b3bdf83bd8 rename some vars 2014-11-05 15:24:47 +01:00
Mathias Labeyrie
ef1c33d2d5 test perf fastAtan 2014-11-05 15:20:53 +01:00
Mathias Labeyrie
a7b3fca0b2 test perf fastAsin 2014-11-05 15:06:07 +01:00
Mathias Labeyrie
43387c81de test perf fastAcos 2014-11-05 15:05:33 +01:00
Mathias Labeyrie
c4b5fa2a93 test perf fastTan 2014-11-05 15:02:26 +01:00
Mathias Labeyrie
74cfc7451a test perf fastSin 2014-11-05 15:02:17 +01:00
Mathias Labeyrie
183c7141e2 performance test for glm::fastCos 2014-11-05 14:44:51 +01:00
Mathias Labeyrie
72a5de2320 branchless wrapAngle 2014-11-05 13:57:32 +01:00
Mathias Labeyrie
b38a8b4e5a rename three_half_pi() => three_over_two_pi() 2014-11-05 13:51:16 +01:00
Mathias Labeyrie
710e13a8e6 Much more precise fastCos and fastSin
fastCos and fastSin had a max error of ~0.2 on [-pi pi].
The updated version is ~0.000007.
2014-11-05 11:12:52 +01:00
Mathias Labeyrie
b0c1777b57 More constants related to pi 2014-11-05 11:12:36 +01:00
Christophe Riccio
a2a6037ba5 More std trivial experiments #263 2014-11-04 01:06:16 +01:00
Christophe Riccio
931e72b456 Initial std trivial experiments #263 2014-11-04 00:52:16 +01:00
Christophe Riccio
6f3765d281 First draft of GTC_round 2014-11-04 00:06:20 +01:00
Christophe Riccio
96b6b76312 Reorganized change list 2014-11-03 14:41:06 +01:00
Christophe Riccio
377d5a4046 Optimized bitCount function 2014-11-02 23:48:02 +01:00
Christophe Riccio
c62b6c7324 Added bitcount/pop implementation perf tests 2014-11-02 21:18:46 +01:00
Christophe Riccio
9ecf69afc4 Optimized bitfieldReverse 2014-11-02 20:51:26 +01:00
Christophe Riccio
afb1f6d152 Optimized bitfieldReverse 2014-11-02 20:48:59 +01:00
Christophe Riccio
41c00872a1 Fixed GCC build 2014-11-01 23:35:10 +01:00
Christophe Riccio
8a882ffdf1 Clean up old workaround 2014-11-01 13:44:34 +01:00
Christophe Riccio
7fb56a2daa Clean up dead code 2014-11-01 03:06:30 +01:00
Christophe Riccio
f2996fc3fd Clean up dead code 2014-11-01 03:03:36 +01:00
Christophe Riccio
23d2735e03 Updated GTX_multiple 2014-11-01 03:00:42 +01:00
Christophe Riccio
4b4b6f6cac Removed macros 2014-11-01 01:44:37 +01:00
Christophe Riccio
86eae996e4 Removed VECTORIZE_VEC for GTX 2014-11-01 00:21:10 +01:00
Christophe Riccio
1cd48f1523 Use template instanciation 2014-10-31 01:52:38 +01:00
Christophe Riccio
c5776a725e Merge branch 'master' into vectorize 2014-10-31 01:33:12 +01:00
Christophe Riccio
fc253a0e5b Fixed Visual C++ 10 build 2014-10-31 01:29:38 +01:00
Christophe Riccio
1331e156cb Fixed non C++11 build 2014-10-31 01:26:00 +01:00
Christophe Riccio
e89d596c08 Merge branch 'master' into vectorize 2014-10-30 23:46:37 +01:00
Christophe Riccio
08b9197c6a Fixed build 2014-10-30 23:46:13 +01:00
Christophe Riccio
5f60ff6d78 Fixed build 2014-10-30 23:38:44 +01:00
Christophe Riccio
c839f52697 Fix warnings 2014-10-29 10:35:19 +01:00
Christophe Riccio
97e4fd1025 Code style clean up 2014-10-29 10:30:48 +01:00
Christophe Riccio
abb5299e08 Fixed warnings with -pedantic 2014-10-29 10:28:25 +01:00
Christophe Riccio
9fe8bc1f66 Fixed build 2014-10-29 08:30:18 +01:00
Christophe Riccio
445a388817 Merge 2014-10-29 08:18:53 +01:00
Christophe Riccio
2a2cd0b8d0 Fixed bad matrix-vector performance in Cuda #257, #258 2014-10-29 00:43:22 +01:00
Christophe Riccio
e8923c9bca Fixed bad matrix-vector performance in Cuda #257, #258 2014-10-29 00:42:59 +01:00
Christophe Riccio
dced21e745 Added multiple 'sign' implementations for integers, unit tests and performancetests. 2014-10-29 00:18:41 +01:00
Christophe Riccio
378074ee66 Merge branch 'vectorize' of https://github.com/g-truc/glm into vectorize 2014-10-28 20:32:01 +01:00
Christophe Riccio
d07a846539 Added sign function implementations and performance tests 2014-10-28 20:31:39 +01:00
Christophe Riccio
44382faf59 Improve mask implementation to support any integer and vector types 2014-10-28 20:28:26 +01:00
Christophe Riccio
a88d8935be Updated ceilPowerOfTwo for signed int support 2014-10-27 23:02:47 +01:00
Christophe Riccio
3420d691f5 Added findLSB tests, faster ceilPowerOfTwo 2014-10-27 20:47:00 +01:00
Christophe Riccio
031eb13341 Added powerOfTwo functions 2014-10-27 19:13:16 +01:00
Christophe Riccio
0de2f5c587 Added powerOfTwo functions 2014-10-27 19:07:23 +01:00
Christophe Riccio
f09d1fd3d4 Fix build 2014-10-27 13:44:30 +01:00
Christophe Riccio
097c1f7b90 Updated GTC_integer 2014-10-26 20:34:10 +01:00
Christophe Riccio
d3b368b65c Added GTC_integer, deprecated GTX_bit 2014-10-26 19:22:19 +01:00
Christophe Riccio
eaa3b72b99 Added isPowerOfTwo tests 2014-10-26 17:43:54 +01:00
Christophe Riccio
69274e740c Promoted bitfieldRotate[Right|left] and bitfieldFill[zero|one] 2014-10-26 17:31:49 +01:00
Christophe Riccio
8dd3ec02ea Removed bitRevert, duplicated of bitfieldReverse 2014-10-26 16:56:31 +01:00
Christophe Riccio
45c4fbeb65 Fixed build 2014-10-26 00:54:36 +02:00
Christophe Riccio
087d6292e3 Added GTC_bitfield extension, promoted GTX_bit 2014-10-26 00:22:08 +02:00
Christophe Riccio
1b6b8183a0 Updated test 2014-10-25 21:57:06 +02:00
Christophe Riccio
0c522117c8 Opimization of mask, bitfieldInsert, bitfieldExtract and bitCount 2014-10-25 21:16:49 +02:00
Christophe Riccio
eb915ed808 Fixed frac and added more roundEven tests 2014-10-25 14:30:43 +02:00
Christophe Riccio
f70ee7ef28 Vectorize many common functions 2014-10-25 00:08:10 +02:00
Christophe Riccio
50cead0793 Vectorize outerProduct 2014-10-24 22:14:17 +02:00
Christophe Riccio
cb8250c20b Fixed unitilized constructor on MacOSX 2014-10-24 21:30:11 +02:00
Christophe Riccio
bf9e4458b6 Added not function 2014-10-24 21:22:24 +02:00
Christophe Riccio
72a2f49834 More integer vectorization 2014-10-24 02:46:59 +02:00
Christophe Riccio
0274cb6e58 Fix build 2014-10-23 22:17:58 +02:00
Christophe Riccio
3344c8e9a0 Fixed build error 2014-10-22 16:03:44 +02:00
Christophe Riccio
7cd21032d3 Fixed Clang compiler detection 2014-10-22 16:01:55 +02:00
Christophe Riccio
44a734d93a Fixed build 2014-10-22 15:58:13 +02:00
Christophe Riccio
679c765a07 vectorize bitfieldExtract 2014-10-21 03:08:32 +02:00
Christophe Riccio
2179695e02 Added usubBorrow tests 2014-10-21 01:40:42 +02:00
Christophe Riccio
fcfc56d5e3 Vectorization of usubBorrow and umulExtended, simplified vector relational code 2014-10-21 01:32:45 +02:00
Christophe Riccio
c23cb8cd59 Added GLM_NEVER_INLINE 2014-10-20 21:34:56 +02:00
Christophe Riccio
4fc68ffe49 Replace function instanciations with macros by templates 2014-10-20 03:26:59 +02:00
Christophe Riccio
47a6947736 Make detail::functor1 capable to return a different argument value_type than the argument value_type 2014-10-20 02:22:53 +02:00
Christophe Riccio
bf08a0e234 Replace function instanciations with macros by templates 2014-10-20 02:03:48 +02:00
Christophe Riccio
0042517167 Replace function instanciations with macros by templates 2014-10-20 00:34:59 +02:00
Christophe Riccio
3e099707a1 Updated 'unitialize' doc 2014-10-19 18:33:14 +02:00
Christophe Riccio
0acc67df40 Hide into detail namespace SIMD internal 2014-10-19 18:28:53 +02:00
Christophe Riccio
790f520488 Clean up coding style 2014-10-19 18:15:03 +02:00
Christophe Riccio
f2383340cf Clean up coding style 2014-10-19 17:09:47 +02:00
Christophe Riccio
bcd07b50f3 - Added GLM_FORCE_NO_CTOR_INIT 2014-10-19 03:33:14 +02:00
Christophe Riccio
0813facc58 Updated compiler detection code 2014-10-18 22:43:15 +02:00
Christophe Riccio
d298b34c19 Add detail namespace for number_of_elements 2014-10-18 13:23:05 +02:00
Christophe Riccio
14d86e5718 Removed unsupported compiler defines 2014-10-18 13:20:05 +02:00
Christophe Riccio
327c7917fb Fixed cases of unspecialized simd 2014-10-18 02:34:20 +02:00
Christophe Riccio
8a1bf4410b Completed GTC_vec1 2014-10-15 02:53:46 +02:00
Christophe Riccio
6d1610ce0d Fixed swizzle operators with anonymous unions code path 2014-10-13 22:48:11 +02:00
Christophe Riccio
19e239d466 Fixed core_setup_message test with Visual C++ 2014-10-12 20:57:41 +02:00
Christophe Riccio
85037a164f Fixed GLM_FORCE_SIZE_FUNC and added test #245 2014-10-12 20:50:50 +02:00
Christophe Riccio
b2ce1a726b Clean up formatting for components and swizzle code 2014-10-12 19:58:46 +02:00
Christophe Riccio
093b8042f7 Fixed build 2014-10-12 17:24:02 +02:00
Christophe Riccio
857e7f5075 Fixed build 2014-10-12 02:52:19 +02:00
Christophe Riccio
893de94bb1 Fixed build 2014-10-12 02:51:34 +02:00
Christophe Riccio
e6a890454d Fixed lack of consistency of quat and dualquat constructors 2014-10-12 02:32:32 +02:00
Christophe Riccio
284ba46dae Fixed spaces 2014-10-12 02:32:04 +02:00
Christophe Riccio
8cb9328e11 Additional fix for GLM_FORCE_SIZE_FUNC #245 2014-10-12 02:11:02 +02:00
Christophe Riccio
d06db1133d Updated GTX_associated_min_max with vec1 support 2014-10-12 02:05:27 +02:00
Christophe Riccio
c2d542562e Fixed GLM_FORCE_SIZE_FUNC support overlook #245. Added uninitiallized constructor to quaternion. Fixed lack of conscistency or quaternion constructors with other types. Various uninitilized constructor optimizations 2014-10-12 01:24:28 +02:00
Christophe Riccio
2df7addc05 Fixed build errors #250 2014-10-11 21:53:53 +02:00
Christophe Riccio
b3b3069491 Updated preprocessor options 2014-10-11 21:04:12 +02:00
Christophe Riccio
9387eb4672 Refactoring of GLM documentation 2014-10-11 00:53:04 +02:00
Christophe Riccio
d54f2fd667 Refactoring of GLM documentation 2014-10-11 00:51:52 +02:00
Christophe Riccio
a5f37ff858 Updated manual: dependencies session 2014-10-10 23:20:07 +02:00
Christophe Riccio
75939a7960 Fixed GTX_string_cast to support for integer types #249 2014-10-10 01:21:04 +02:00
Christophe Riccio
ca4ed31fb6 Fixed *vec1 scalar constructor 2014-10-06 23:35:26 +02:00
Christophe Riccio
3556f4ad85 Clean up 2014-10-06 23:06:34 +02:00
Christophe Riccio
8e1cb985f5 Updated readme.txt 2014-10-05 23:33:56 +02:00
Christophe Riccio
291708ce07 Added GLM_FORCE_SIZE_FUNC to replace .length() by .size() #245 2014-10-05 22:12:25 +02:00
Christophe Riccio
03a01880b0 Clean up move and initialiazer lists experiments 2014-10-05 20:06:35 +02:00
Christophe Riccio
f9484a6e9f - Moved template types from 'detail' to 'glm' namespace #239, #244 2014-10-05 19:37:07 +02:00
Christophe Riccio
4ac77c08c7 Updated readme for issue #238 2014-10-05 16:11:41 +02:00
Christophe Riccio
38399875f4 Merge pull request #238 from SiliconKiwi/patch-1
Closest point algorithm can be easily extended to support 2d points #238
2014-10-05 16:09:10 +02:00
Christophe Riccio
0684a5e2c6 GTX_range is only available for C++11 compilers #240 2014-10-05 14:42:17 +02:00
Christophe Riccio
7ab7d4beb8 Merge pull request #240 from Jaxan/range
Range support #240
2014-10-05 14:24:19 +02:00
Christophe Riccio
a00fc3fdf4 Enable only GLM_GTX_scalar_multiplication for C++11 compiler #242 2014-10-05 13:26:02 +02:00
Christophe Riccio
36af05b775 Merge pull request #242 from Jaxan/scalars
Scalar multiplication #242
2014-10-05 12:11:04 +02:00
Christophe Riccio
1e389f8efa Fixed implicit conversion from another tvec2 type to another tvec2 #241 2014-10-05 10:34:19 +02:00
Joshua Moerman
62ac07815c Adds scalar multiplication for all types 2014-09-22 10:03:18 +02:00
Joshua Moerman
77c704e210 Adds range support 2014-09-19 16:27:23 +02:00
Joshua Moerman
72a6f35a8e Fixes typo 2014-09-19 15:08:26 +02:00
Christophe Riccio
a08aca94f3 Progress on vec1 support 2014-09-16 02:31:07 +02:00
Christophe Riccio
46e61b4f07 Added test for fastSin #231 2014-09-16 01:35:29 +02:00
SiliconKiwi
b5409fb728 Update closest_point.inl 2014-09-16 09:11:34 +12:00
SiliconKiwi
ad85092433 Update closest_point.hpp
Algorithm works fine with 2d points as well...
2014-09-16 09:09:39 +12:00
Christophe Riccio
ec513f4466 Added GTX_common with isdenomal #223 2014-09-07 20:53:35 +02:00
Christophe Riccio
cccf2af0a2 Added vec3 slerp (#237) 2014-09-07 20:06:59 +02:00
Christophe Riccio
0d42f4a320 Added vec3 slerp #237 2014-09-07 19:56:24 +02:00
Christophe Riccio
4649717f45 Fixed GCC build #228 2014-09-07 18:32:00 +02:00
Christophe Riccio
3d399aaaca Remove useless std::move, #219 2014-09-07 17:14:39 +02:00
Christophe Riccio
0613b5c0f1 Limited extended integer type redifinition (#233) 2014-09-07 01:17:20 +02:00
Christophe Riccio
bfa893b957 Fixed signed integer and float linearRand results #230 2014-09-07 00:57:21 +02:00
Christophe Riccio
5f7862ebec Improved linearRand: support precision and integers (#230) 2014-09-06 21:52:51 +02:00
Christophe Riccio
e419448539 Fixed compile problems with glm::max( vec, int ) #232 2014-09-06 02:24:50 +02:00
Christophe Riccio
ac3c2e37f1 Rely on STL functions for GLM functions using the same prototype #233 2014-09-06 01:45:13 +02:00
Christophe Riccio
4a701c6760 Limited extended integer type redifinition (#233) 2014-09-01 04:27:55 -04:00
Christophe Riccio
90acd7236d Merge branch '0.9.5' 2014-08-31 22:28:21 -04:00
Christophe Riccio
041276c93d Fix 'nextafter*' for android build issue. #217 2014-08-31 22:25:40 -04:00
Christophe Riccio
a614e5da63 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2014-08-31 22:18:39 -04:00
Christophe Riccio
eabeb0471b Merge branch '0.9.6' 2014-08-31 18:37:14 -04:00
Christophe Riccio
67c62d8b1c Merge branch '0.9.6' of https://github.com/g-truc/glm into 0.9.6 2014-08-31 18:12:53 -04:00
Christophe Riccio
3b7aadc2e3 Added initial commit for GLM_GTX_matrix_decompose #227 2014-08-31 18:12:38 -04:00
Christophe Riccio
f916339ca7 Rely on C++11 to implement isinf and isnan 2014-08-04 01:18:34 +02:00
Christophe Riccio
96ef6ae9ba Fixed infinite loop in isfinite function with GCC #221 2014-08-04 01:00:49 +02:00
Christophe Riccio
2b747cbbad Removed last references to GLM_FORCE_RADIANS 2014-08-04 00:10:12 +02:00
Christophe Riccio
fa6bec2f3d Added swizzle contructor tests 2014-08-03 23:40:45 +02:00
Christophe Riccio
a0743f94aa Added full tvec1 support to tvec2 2014-07-29 02:42:18 +02:00
Christophe Riccio
8b7d3daa34 Added vec1 operator tests 2014-07-28 23:46:46 +02:00
Christophe Riccio
d722b398c9 Added scalar conversion constructor 2014-07-28 22:08:09 +02:00
Christophe Riccio
a957daf1a7 Merge branch '0.9.6' 2014-07-18 01:16:48 +02:00
Christophe Riccio
81bdef25aa Fixed VC14 compiler warnings 2014-07-18 01:15:15 +02:00
Christophe Riccio
666475a84c Fixed VC14 compiler warnings 2014-07-18 00:59:07 +02:00
Christophe Riccio
cff845c2b4 Use pragma once 2014-07-14 01:48:27 +02:00
Christophe Riccio
7659e901c9 Fixed merge with 0.9.5 2014-06-28 21:26:24 +02:00
Christophe Riccio
d84fa89cb8 Fixed missing value_type for dual quaternion, Fixed return type of dual quaternion length 2014-06-28 21:08:53 +02:00
Christophe Riccio
9a3f42279b - Fixed std::nextafter not supported with C++11 on Android #213 2014-06-28 20:56:12 +02:00
Christophe Riccio
7459161364 Updated revision fornext release 2014-06-28 20:45:45 +02:00
Christophe Riccio
6f59e64a55 Use C++ cast 2014-06-22 02:03:31 +02:00
Christophe Riccio
b5ffd74c3e merge 0.9.5 2014-06-21 16:33:14 +02:00
Christophe Riccio
4fa38c7a03 Fixed warning 2014-06-21 16:29:06 +02:00
Christophe Riccio
24cd06552c Fixed GLM_GTX_io coding style 2014-06-21 16:23:06 +02:00
Christophe Riccio
7f3c56f278 Removed GCC warning 2014-06-21 16:00:17 +02:00
Christophe Riccio
694416701a Replaced C casts by C++ casts 2014-06-21 15:42:10 +02:00
Christophe Riccio
9b6eecc739 Fixed corner cases in exp and log functions for quaternions #199 2014-06-21 15:38:49 +02:00
Christophe Riccio
a5ab409ed2 Merge branch '0.9.5' 2014-06-21 15:18:33 +02:00
Christophe Riccio
08ff93925f Fixed std::nextafter not supported with C++11 on Android #213 2014-06-21 15:07:03 +02:00
Christophe Riccio
2b38221f80 Fixed build 2014-06-21 14:02:51 +02:00
Christophe Riccio
b69356cadb Resolve aliasing issues #152, #212 2014-06-21 07:41:30 -04:00
Christophe Riccio
381e1627b8 merge 2014-06-21 07:27:40 -04:00
Christophe Riccio
16124f0742 Removed useless references 2014-06-21 07:25:52 -04:00
Christophe Riccio
9f0fe30585 Fixed build 2014-06-21 13:22:06 +02:00
Groove
b025413a2d Resolve aliasing issue 2014-06-21 07:04:55 -04:00
Christophe Riccio
f32cab2842 Remove useless references 2014-06-21 13:01:54 +02:00
Christophe Riccio
f310f941c6 Fixed strict aliasing issues #212 2014-06-21 12:14:39 +02:00
Christophe Riccio
103a74f7e1 clean up 2014-06-21 11:53:28 +02:00
Christophe Riccio
3651530ff0 Fixed build 2014-06-21 11:50:42 +02:00
Christophe Riccio
dec4db0b15 Merge branch '0.9.5' 2014-06-20 22:17:32 +02:00
Christophe Riccio
d9bed5d7c9 Updated readme for fixed std::copy and std::vector with GLM types #214 2014-06-20 22:17:04 +02:00
Christophe Riccio
7097e4c7c8 Fixed tweakedInfinitePerspective #208 and added user-defined epsilon to tweakedInfinitePerspective 2014-06-20 22:13:06 +02:00
Christophe Riccio
ae026e64d3 Merge 0.9.5 2014-06-20 20:10:12 +02:00
Christophe Riccio
95cd2c8b24 Added #214 issue tests. 2014-06-20 20:06:41 +02:00
Christophe Riccio
84e05bbbb3 Added test for issue #214 2014-06-20 01:46:28 +02:00
Christophe Riccio
7fe8a1944c Fixed fastDistance ambiguity #215 2014-06-20 01:09:50 +02:00
Christophe Riccio
2935cdc18e Updated readme.txt 2014-06-20 00:21:53 +02:00
Christophe Riccio
83f594b5ed Fixed quaternion mul/vec test 2014-06-19 23:05:35 +02:00
Christophe Riccio
c440b9515a Merge io for GLM types #144 2014-06-15 22:52:23 +02:00
Christophe Riccio
d4a8c3fe57 Updated readme for #210 2014-06-12 19:30:53 +02:00
Christophe Riccio
a1a861a4a6 Merge pull request #210 from moushkka/0.9.5
Fixed linear interpolation when cosTheta is close to 1 in quaternion slerp #210
2014-06-12 19:27:22 +02:00
Christophe Riccio
c506b43d49 Quaternion vector rotation error. #209 2014-06-12 00:29:56 +02:00
Christophe Riccio
ea45a7b966 Fixed orientate3 function #207 2014-06-11 22:47:37 +02:00
Christophe Riccio
c3c180559a Fixed instruction set detection with Clang #158 2014-06-11 16:56:16 +02:00
Christophe Riccio
e2a565e866 Updated readme for issue #211 2014-06-11 16:39:46 +02:00
Christophe Riccio
ada6b082f9 Merge pull request #206 from Jeija/patch-1
Added missing @endcond #206
2014-06-11 16:38:07 +02:00
Joel Nises
e610e9446e fixed bug in quaternion slerp 2014-06-05 17:48:53 +02:00
Florian Euchner
f8fa1513fa Fix missing @endcond 2014-05-24 17:07:52 +02:00
Christophe Riccio
4da58d88d4 Optimized Quaternion vector rotation #205 2014-05-23 23:09:32 +02:00
Christophe Riccio
a2f4df2b1d Fixed builtin GLM_ARCH_SSE4 #204 2014-05-23 22:23:27 +02:00
Christophe Riccio
7b03f18e32 Merge pull request #201 from dachziegel/0.9.5
added GLM_FUNC_QUALIFIER to be able to use in CUDA #201
2014-05-06 23:21:27 +02:00
Christophe Riccio
affd405b37 Fixed glm::isinf and glm::isnan for with Android NDK 9d #191, take 2 2014-05-06 22:45:18 +02:00
Christophe Riccio
e04ded9e39 Fixed glm::isinf and glm::isnan for with Android NDK 9d #191 2014-05-05 23:08:49 +02:00
dachziegel
d19766fcbf added GLM_FUNC_QUALIFIER to be able to use in CUDA 2014-05-05 13:45:36 +02:00
Christophe Riccio
842cea8747 Merge 0.9.5 2014-05-04 21:07:05 +02:00
Christophe Riccio
a2b70690c1 Added test gor issue #199 2014-05-04 17:34:34 +02:00
Christophe Riccio
a4bb7e1e38 Fixed GTX_color_space - saturation #195 2014-05-04 17:29:36 +02:00
Christophe Riccio
d77bfa1a70 Fixed GTX_color_space - saturation #195 2014-05-04 17:20:40 +02:00
Christophe Riccio
c80f5bc740 Updated readme for GLM 0.9.5.4 with #189 2014-05-04 16:55:15 +02:00
Christophe Riccio
0cbef584e3 Merge pull request #189 from rleigh-dundee/cmake-install
cmake: Several fixes to the build system #189
2014-05-04 16:51:43 +02:00
Christophe Riccio
9a3d7a115c Fixed build error #190 2014-05-04 16:47:06 +02:00
Christophe Riccio
7d7444df8d Fixed non-utf8 character #196 2014-05-04 16:43:57 +02:00
Christophe Riccio
e5ee35323a Fixed non-utf8 character #196 2014-05-04 16:34:46 +02:00
jan p springer
9ecc30c5dd added: missing value_type typedef 2014-04-15 18:37:34 +01:00
Roger Leigh
4aa1c19707 cmake: Don't use unqualified include paths 2014-04-15 10:54:03 +01:00
Roger Leigh
34bd28e8c6 cmake: Don't build tests when not testing 2014-04-15 10:46:45 +01:00
Roger Leigh
e9ad8f7c18 cmake: Don't abort if not testing
This prevents installing and is quite antisocial.
2014-04-15 10:45:49 +01:00
Roger Leigh
a925120716 cmake: Install FindGLM 2014-04-15 10:26:28 +01:00
jan p springer
37e5868200 fixed: warning wrt. strict aliasing on gcc 4.8.2/clang3.3 2014-04-14 00:13:20 +01:00
jan p springer
ae691ce39a commented out already declred types (in glm/fwd.hpp) 2014-04-14 00:12:38 +01:00
jan p springer
478dc697ff fixed: compile problems w/ non-existent header files 2014-04-14 00:11:25 +01:00
Christophe Riccio
10778448ef Fixed merge 2014-04-02 01:31:36 +02:00
Christophe Riccio
6c22a0b82f Updated version for 0.9.5.4 2014-04-02 01:23:19 +02:00
Christophe Riccio
682979ddd8 Fixed next_float for double and fixed ULP tests 2014-04-01 23:58:41 +02:00
Christophe Riccio
90ad883d9e Added glm.g-truc.net code samples 2014-04-01 22:38:43 +02:00
Christophe Riccio
a5d2a63ef3 - Added workaround for a CUDA compiler bug (#186, #185) 2014-04-01 01:20:03 +02:00
Christophe Riccio
e33136538d - Fixed eulerAngle*** not consistent for right-handed coordinate system (#173) 2014-03-31 23:50:15 +02:00
Christophe Riccio
12cde2bf75 Added eulerAnglesX tests 2014-03-31 02:00:51 +02:00
Christophe Riccio
6409e4135a Merge pull request #184 from mackron/buildfix
Fix simd_quat build.
2014-03-31 00:04:17 +02:00
David Reid
04d9fa2d45 Fix simd_quat build. 2014-03-21 18:49:27 +10:00
Christophe Riccio
3f327d5e70 Fixed usubBorrw 2014-03-16 12:33:00 +01:00
Christophe Riccio
00e860eeee Fixed missing bitfieldInterleave definisions 2014-03-16 11:53:58 +01:00
Christophe Riccio
0b73091c7f Fixed aliasing warnings 2014-03-16 11:15:56 +01:00
Christophe Riccio
658d7e2788 Fixed strict aliasing warnings in GCC 4.8.1 / Android NDK 9c (#152) 2014-03-16 03:08:56 +01:00
Christophe Riccio
693c1ddbc8 Merge 0.9.5 branch 2014-03-16 02:59:57 +01:00
Christophe Riccio
4b9e2d4028 Fixed warnings 2014-03-16 02:53:47 +01:00
Christophe Riccio
899f388921 Fixed CUDA issues (#169, #168, #183, #182) 2014-03-16 02:39:36 +01:00
Christophe Riccio
efd4087b1c Fixed int used instead of glm::length_t 2014-03-15 22:33:25 +01:00
Christophe Riccio
db09ecfc41 Fixed bitfieldInterleave for 4 components #175 2014-03-15 22:24:43 +01:00
Christophe Riccio
0d8d5af8dd Fixed CUDA_VERSION not being declared #182 2014-03-15 21:59:22 +01:00
Christophe Riccio
3c562d534f Merge branch '0.9.6' of https://github.com/g-truc/glm into 0.9.6 2014-03-15 21:49:18 +01:00
Christophe Riccio
ea87e50c59 Merge branch '0.9.5' into 0.9.6 2014-03-15 21:45:47 +01:00
Christophe Riccio
eaf3cf3056 Added missing GLM_FUNC_DECL 2014-03-15 21:45:28 +01:00
Christophe Riccio
2e90c3e117 Merge pull request #183 from dachziegel/0.9.6
added GLM_FUNC_DECL to avoid nvcc warnings #183
2014-03-15 19:52:27 +01:00
Christophe Riccio
19d2919ec3 Fixed version #179 2014-03-15 19:49:26 +01:00
dachziegel
9fddf6225b include <cuda.h> to make sure CUDA_VERSION is defined 2014-03-15 11:29:01 +01:00
dachziegel
2536c4c6b6 added GLM_FUNC_DECL to avoid nvcc warnings 2014-03-15 11:04:12 +01:00
Christophe Riccio
ce431012c9 Fix merge 2014-02-25 21:00:25 +01:00
Christophe Riccio
233847ebfb Added vec2 length test 2014-02-25 19:12:52 +01:00
Christophe Riccio
ae2af04599 Updated release with GTX_matrix_transform_2d and added blank unit test file for the extension. (#176, #178) 2014-02-21 02:18:53 +01:00
Christophe Riccio
88830eba64 Merge pull request #178 from zlash/GTX_matrix_transform_2d
Gtx matrix transform 2d
2014-02-21 02:07:00 +01:00
Miguel Ángel Pérez Martínez
7cf0e87526 Added trigonometric.hpp dep to matrix_transform_2d.inl 2014-02-20 21:58:11 -03:00
Miguel Ángel Pérez Martínez
1644912f7d Added GTX_matrix_transform_2d 2014-02-20 21:51:33 -03:00
Christophe Riccio
016cce7bf1 Fixed GTX_raw_data code dependency 2014-02-19 02:10:36 +01:00
Christophe Riccio
96861a7e19 Fixed GTX_raw_data code dependency 2014-02-19 02:09:43 +01:00
Christophe Riccio
43691702e1 Fixed GTX_raw_data code dependency 2014-02-19 02:09:09 +01:00
Christophe Riccio
13920db617 Fixed instruction set detection with GCC 2014-02-14 01:37:35 +01:00
Christophe
3459fcfbc1 Fixed instruction set detection on GCC 2014-02-13 21:02:11 +01:00
Christophe Riccio
e606edf43b Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch compiler argument 2014-02-09 16:25:36 +01:00
Christophe Riccio
9eedee586d Added instruction set report and clean up output 2014-02-09 15:06:10 +01:00
Christophe Riccio
2b17a90859 Fixed declaration and definition mismatch 2014-02-08 20:49:34 +01:00
Christophe Riccio
7ce6df4078 Fixed sqrt ambiguity 2014-02-08 20:21:24 +01:00
Christophe Riccio
31ec3eed97 Clean up initializer list code. 2014-02-08 19:08:09 +01:00
Christophe Riccio
4e444fed19 Fixed GLM_GTC_constants description brief (#162) 2014-02-08 14:16:23 +01:00
Christophe Riccio
a8fd81850f Tentative fix for strict aliasing warning in GCC 4.8.1 / Android NDK 9c (#152) 2014-02-08 14:10:00 +01:00
Christophe Riccio
577ee319e6 Updated release note 2014-02-08 13:46:53 +01:00
Christophe Riccio
98a0d9e00e Merge pull request #163 from patzy/0.9.5
Fix dot product clamp range for vector angle functions. (#163)
2014-02-08 13:45:22 +01:00
Christophe Riccio
6aa34be6ad Fixed GLM_FORCE_RADIANS with <glm/ext.hpp> build error (#165) 2014-02-08 13:43:32 +01:00
Christophe Riccio
a310855d23 Fixed undefined reference to fastInverseSqrt (#161) 2014-02-08 13:34:40 +01:00
Christophe Riccio
1d981dd344 Fixed initializer list ambiguity (#159, #160) 2014-02-08 12:40:34 +01:00
Morgan Veyret
32e57ce8ff Fix dot product clamp range for vector angle functions. 2014-02-01 21:05:44 +01:00
Christophe Riccio
638d49b549 Added static assert to test the argument 'a' type of 'mix' function 2014-01-18 03:26:51 +01:00
Christophe Riccio
49cc8e83e4 Merge 2014-01-18 03:19:46 +01:00
Christophe Riccio
2c6275caed Merge 2014-01-18 03:17:36 +01:00
Christophe Riccio
926c8d159c Fixed mix function link error 2014-01-18 03:15:54 +01:00
Christophe Riccio
d3b8b2b64e Added move contructors and assignment operators (#141) 2014-01-14 22:51:04 +01:00
Christophe Riccio
6a3e1e9c35 Updated message 2014-01-14 20:32:10 +01:00
Christophe Riccio
d7862e4bb5 Fixed SSE code included in GLM tests on pure platforms 2014-01-14 14:07:09 +01:00
Christophe Riccio
66efbcc597 Merge branch '0.9.5' into 0.9.6 2014-01-14 09:27:28 +01:00
Christophe Riccio
14c1c91f77 Clean up 2014-01-14 09:27:17 +01:00
Christophe Riccio
dd272c52ee Fixed non power of two matrix products 2014-01-13 23:41:11 +01:00
Christophe Riccio
c3e4881833 Fixed warnings with the Android NDK 9c (#156) 2014-01-12 22:48:57 +01:00
Christophe Riccio
022a6f3294 Merge 0.9.5 2014-01-11 23:52:32 +01:00
Christophe Riccio
9a3781d99a Started GLM 0.9.5.2 2014-01-11 23:51:12 +01:00
Christophe Riccio
8a5603342c Merge 0.9.5 2014-01-11 23:49:08 +01:00
Christophe Riccio
cfbd6e43b2 Updated doxygem documentation 2014-01-11 23:35:39 +01:00
Christophe Riccio
6335627796 Fixed build 2014-01-11 23:23:21 +01:00
Christophe Riccio
01ac9e9b33 Fixed build 2014-01-11 23:21:54 +01:00
Christophe Riccio
9f81728602 Fixed outerProduct return type (#155) 2014-01-11 22:35:19 +01:00
Christophe Riccio
aeba3c6fe7 Quiet most GLM_FORCE_RADIANS messages 2014-01-11 21:12:53 +01:00
Christophe Riccio
3394af0cf2 Fixed build on GCC 2014-01-11 19:45:40 +01:00
Christophe Riccio
f2bce9c8fa Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2014-01-11 16:44:34 +01:00
Christophe Riccio
90a249b5ff Optimized matrix inverse and division code (#149) 2014-01-11 16:44:15 +01:00
Christophe Riccio
a600ade276 Merge pull request #153 from tomcumming/0.9.5
Ray plane intersection function
2014-01-07 04:06:22 -08:00
Tom Cumming
14a7c56abd Ray plane intersection function 2014-01-07 10:54:00 +00:00
Christophe Riccio
efdfa577ee defaultp is an enum, alias of highp (#150) 2014-01-06 00:48:10 +01:00
Christophe Riccio
ccb25c84c7 Update copyright year 2014-01-04 22:32:28 +01:00
Christophe Riccio
bd8836e53b Merge branch '0.9.5' into 0.9.6 2014-01-04 22:29:45 +01:00
Christophe Riccio
20e7fbc99a Merge pull request #149 from dustin-biser/0.9.6
Remove unncessary divisions for mat inverses
2014-01-04 13:25:51 -08:00
Dustin Biser
00f99d392c Remove unncessary divisions for mat inverses 2014-01-04 15:11:16 -05:00
Christophe Riccio
aa26672da1 Fixed inverse link error when using namespace glm; (#147) 2014-01-04 16:34:11 +01:00
Christophe Riccio
6f096fbb31 Fixed vector and matrix queries 2014-01-04 14:57:59 +01:00
Christophe Riccio
06ac77dad4 Fixed declaration and definision mismatches (#148) 2014-01-04 13:55:37 +01:00
Christophe Riccio
9edd8aacf0 Remove is_vector 2014-01-04 13:47:30 +01:00
Christophe Riccio
b96a26e9e2 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2014-01-04 13:43:08 +01:00
Christophe Riccio
aed7317408 Fixed declaration and definision mismatches (#148) 2014-01-04 13:42:49 +01:00
Christophe Riccio
19ad72840f Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2014-01-04 13:27:24 +01:00
Christophe Riccio
6ed8c3dbb3 Added vectorized implementation of fast inversesqrt 2014-01-04 13:27:06 +01:00
Christophe Riccio
c6896064ef Fixed rotate function declaration for quat 2014-01-04 12:54:27 +01:00
Christophe Riccio
26e02fad68 Added initializer list for vectors 2014-01-04 12:46:47 +01:00
Christophe Riccio
4f2d7a97e0 Merge 2014-01-01 14:05:48 +01:00
Christophe Riccio
9b57315681 Fixed mismatch of GTC_packing declaration and definition prototypes 2013-12-28 19:14:11 +01:00
Christophe Riccio
71035db795 Added ULP comparison between lowp and highp for inversesqrt 2013-12-28 03:45:18 +01:00
Christophe Riccio
775c6136fc Fixed error 'inverse' is not a member of 'glm' from glm::unProject (#146) 2013-12-27 19:23:44 +01:00
Christophe Riccio
78d487b482 Added ULP comparison between lowp and highp for inversesqrt 2013-12-27 02:20:53 +01:00
Christophe Riccio
8a023f7767 Removed GTX_int_10_10_10_2, replaced by GTC_packing functions 2013-12-27 01:32:39 +01:00
Christophe Riccio
40c772341a Fixed white space 2013-12-27 01:30:19 +01:00
Christophe Riccio
d252dd243b Added possible static_cast conversion of GLM types (#72) 2013-12-27 00:49:53 +01:00
Christophe Riccio
e5f8ebbfd7 Tests to reproduce bug #135, could not reproduce it 2013-12-26 20:38:28 +01:00
Christophe Riccio
1b36eb7603 Removed GLM_FORCE_RADIANS 2013-12-26 20:26:31 +01:00
Christophe Riccio
0d5deadf02 Removed GLM_FORCE_RADIANS, now it's the default behaviour 2013-12-26 19:15:48 +01:00
Christophe Riccio
6d6c56f211 Merge branch '0.9.5' into 0.9.6 2013-12-26 18:59:45 +01:00
Christophe Riccio
1909f512e7 Deprecated degrees, display a message for each function using it. 2013-12-26 18:58:44 +01:00
jan p springer
39179ba1ad un/formatted() usage to un/formatted 2013-12-26 15:15:53 +00:00
Christophe Riccio
d01630079c Fixed Visual C++ vec4 simd specification code path 2013-12-26 13:39:04 +01:00
Christophe Riccio
5f1bb47bf2 Merge branch '0.9.5' into 0.9.6 2013-12-26 13:15:20 +01:00
Christophe Riccio
36de7ea9e9 Clean up 2013-12-26 13:14:50 +01:00
Christophe Riccio
07a1abdfb3 Added vec4 SSE2 specializations 2013-12-26 13:03:26 +01:00
Christophe Riccio
66ff530367 Merge branch '0.9.6' of https://github.com/g-truc/glm into 0.9.6 2013-12-26 11:42:58 +01:00
Christophe Riccio
d9f5e07641 Concept prof for vec4 SIMD specialication 2013-12-26 11:42:38 +01:00
Christophe Riccio
6b2ecaaf42 Clean up 2013-12-26 02:46:34 +01:00
Christophe Riccio
7fc5d21bbf Fixed build 2013-12-26 01:24:04 +01:00
Christophe Riccio
d68fd2d97e Fixed space characters 2013-12-26 00:32:09 +01:00
Christophe Riccio
13676679ab Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-12-26 00:25:39 +01:00
Christophe Riccio
5775879cfd Merge pull request #145 from jsb/0.9.5
angle and orientedAngle sometimes return NaN values
2013-12-25 15:25:08 -08:00
Christophe Riccio
0de006a82c Updated version for next release 2013-12-26 00:20:08 +01:00
Christophe Riccio
ddd1efd5a7 Removed deprecated files 2013-12-26 00:06:15 +01:00
Christophe Riccio
fee3eddd37 Updated API documentation 2013-12-25 23:48:55 +01:00
Christophe Riccio
792e5ff74f Fixed ext.hpp 2013-12-25 23:32:35 +01:00
Christophe Riccio
fd256dfaa8 Updated GLM manual with per feature headers. Fixed io. 2013-12-25 23:21:46 +01:00
Christophe Riccio
e9cb71e8b6 Fixed io build 2013-12-25 17:56:03 +01:00
Christophe Riccio
48fcbd6ec4 Fixed warnings on GCC 2013-12-25 17:44:44 +01:00
Christophe Riccio
4ca881697d Fixed build with GCC 4.7 C++11 2013-12-25 16:02:00 +01:00
Christophe Riccio
7fd1cdc477 Fixed build with C++98 compilers 2013-12-25 15:34:38 +01:00
Christophe Riccio
edbe66cb00 Fixed build on MacOS 2013-12-25 07:41:45 +01:00
Christophe Riccio
590c2780d9 Refactored outerProduct code 2013-12-25 07:11:52 +01:00
Christophe Riccio
c03ebcc688 Refactored transpose function 2013-12-25 06:30:52 +01:00
Christophe Riccio
9b5bec81f2 Factorize glm::inverse code for matrices 2013-12-25 05:58:11 +01:00
Christophe Riccio
dde5178b84 Fixed warnings 2013-12-25 05:55:54 +01:00
Christophe Riccio
18d67da79c Reduced dependencies of GTX_component_wise 2013-12-25 05:32:47 +01:00
Christophe Riccio
9f8112f93a Reduced dependencies of GTX extensions. Removed some deprecated code. 2013-12-25 04:16:08 +01:00
Christophe Riccio
950eaa45cb Reduced dependencies for GTC extensions 2013-12-24 13:45:14 +01:00
Christophe Riccio
6f7eb97b87 Move content of core directory into detail directory. Reduced dependencies to glm.hpp. 2013-12-24 10:41:59 +01:00
Christophe Riccio
0a3b2bf11f Added headers for including subset of functions 2013-12-24 09:24:03 +01:00
Christophe Riccio
510abedf2b Added glm::length and removed col_size and row_size 2013-12-24 09:14:51 +01:00
Christophe Riccio
dc2b2cd5f6 _inverse is now private 2013-12-24 07:22:02 +01:00
Christophe Riccio
aab47b3587 Improved GLM messages enabled with GLM_MESSAGES 2013-12-24 06:57:21 +01:00
Christophe Riccio
ca2463d5f2 Added per feature headers and added length_t and GLM_FORCE_SIZE_T_LENGTH 2013-12-24 06:43:25 +01:00
Christophe Riccio
5ef31a6e18 Added per feature headers 2013-12-24 06:19:45 +01:00
Janis Born
56bd959f9e fix vector angle functions possibly returning NaN 2013-12-19 16:16:28 +01:00
Christophe Riccio
9f5d2be3da Fixed GTX_wrap 2013-12-18 19:54:39 +01:00
Christophe Riccio
420822704d Removed useless GTX extensions 2013-12-18 19:19:14 +01:00
Christophe Riccio
aa318f6a43 Fixed GTX_mixed_product build 2013-12-18 19:16:42 +01:00
Christophe Riccio
e818afba4d Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-12-18 18:49:51 +01:00
Christophe Riccio
570ec64d38 Fixed /arch:SSE3 warnings, no supported by VC 2013-12-18 18:45:02 +01:00
jan p springer
0e3cebf23a removed boost dependencies 2013-12-18 10:34:06 +00:00
jan p springer
623cdaa552 reimplemented io support for basic types 2013-12-17 22:37:34 +00:00
Christophe Riccio
bbecc80903 Merge pull request #142 from bernstein/0.9.5
Remove includes of deleted half_float.hpp
2013-12-16 15:02:42 -08:00
Christophe Riccio
fa56944171 Fixed GTX_io test 2013-12-16 23:59:20 +01:00
Christophe Riccio
3b8a199f1b Fixed glm::multiple warning with unsigned int genType 2013-12-16 23:52:28 +01:00
Andreas Bernstein
8de3c56ddc Remove includes of deleted half_float.hpp 2013-12-15 21:45:55 +01:00
Christophe Riccio
eb56539a76 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-12-15 19:56:12 +01:00
Christophe Riccio
0640bcaab0 Fixed inline 2013-12-15 19:55:13 +01:00
Christophe Riccio
29c3b4e484 Merge pull request #139 from regnirpsj/0.9.5
0.9.5: minor compile fixes, op+=/op*= for glm::quat, op<< for glm types
2013-12-10 16:44:30 -08:00
Christophe Riccio
451435a6a9 Merge pull request #136 from epreston/fix-missing-template-params
Fixed missing precision qualifier in template
2013-12-10 16:43:52 -08:00
jan p springer
0f66a02c2a added: op<< for glm types 2013-11-22 23:48:58 +00:00
jan p springer
de2f27a87a fixed: type (GLM_SWIZZL vs GLM_SWIZZLE) 2013-11-22 23:36:51 +00:00
jan p springer
e299af614f added: quat::op+=(quat) and quat::op*=(quat) 2013-11-22 21:46:30 +00:00
jan p springer
137b296556 fixed: commented unknown structure member (gcc4.8.2,f19,x86_64) 2013-11-22 21:35:06 +00:00
jan p springer
2a52f56360 fixed: printf -> std::printf and missing include 2013-11-22 21:32:33 +00:00
Ed Preston
0ee6673470 Fixed missing precision aualifier in template
Fixed missing precision aualifier in template to remove compiler
errors. (AppleClang - Xcode 5)
2013-11-15 22:11:22 -05:00
Christophe Riccio
dadab89566 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-11-10 13:47:52 +01:00
Christophe Riccio
ffbcd7f6bd updated comments 2013-11-10 13:47:13 +01:00
Christophe Riccio
70903c39d3 Fixed merge 2013-10-28 13:34:21 +01:00
Christophe Riccio
8d38760149 Merge pull request #129 from arx/0.9.5
Added missing precision template params in GTX compatibility
2013-10-28 03:01:22 -07:00
Christophe Riccio
fbb54649b7 Added test files and fixed build errors for experimental extensions. 2013-10-27 22:38:22 +00:00
Christophe Riccio
2e72af3f6d Added test files for all GTX extensions 2013-10-27 18:25:03 +00:00
Sebastien Lussier
84b740d36e Added missing precision template params int GTX compatibility 2013-10-23 00:22:19 -04:00
Christophe Riccio
6bb9bdc8ce Renamed CMake SIMD options 2013-10-19 12:13:38 +02:00
Christophe Riccio
0e31538c26 Deprecated some GTX functions 2013-10-11 01:10:15 +02:00
Christophe Riccio
02c3ce21e8 More CUDA coverage, deprecated GTX_1010102 extension 2013-10-11 00:21:27 +02:00
Christophe Riccio
086706caa5 Improved static assert messages 2013-10-10 01:29:18 +02:00
Christophe Riccio
66bc06771c usubBorrow and uaddCarry are better implemented as template specialization 2013-10-10 01:14:39 +02:00
Christophe Riccio
d4046da22e Fixed umulExtended and imulExtended implementations for vector types (#76) 2013-10-10 00:51:29 +02:00
Christophe Riccio
d1fe2d26bf Fix metge 2013-10-09 23:54:54 +02:00
Christophe Riccio
cbfc4a366f Merge pull request #127 from mackron/buildfix
Remove #include of missing file.
2013-10-09 14:49:36 -07:00
Christophe Riccio
73281f1978 Improve CUDA coverage to all GTC extensions. Fixed missing constructors #120 2013-10-09 23:33:39 +02:00
Christophe Riccio
29b11937f4 Fixed Visual C++ language feature detection 2013-10-07 23:53:30 +02:00
David Reid
dea65c8c23 Remove #include of missing file. 2013-10-07 15:34:04 +10:00
Dustin Biser
cfd0bd6e13 Fixed assert error typo in quaternion.inl
Changed v to l, as unknown variable v was causing compile errors in user code.
2013-10-05 16:27:01 -04:00
Dustin Biser
6881e1bb90 Refactored glm/gtc/quaternion mat3_cast
- Factored out minus signs.  Previous commit was incorrect.
2013-10-05 15:34:03 -04:00
Christophe Riccio
e8f1feb423 Fixed exact match of initializer lists 2013-10-05 21:06:21 +02:00
Christophe Riccio
4acd5b087d Added assert for initilizer lists to match sizes 2013-10-05 21:03:53 +02:00
Christophe Riccio
eb59cb9af6 Fixed initializer test implementation, simplified packing implementation 2013-10-05 20:06:56 +02:00
Christophe Riccio
b47a0a212f Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-10-05 19:12:22 +02:00
Christophe Riccio
cc3fcda9f8 Simplify implementations 2013-10-05 19:12:03 +02:00
Christophe Riccio
e13e147799 Uses a C++ cast instead of a C cast 2013-10-05 14:07:38 +02:00
Christophe Riccio
d3b8b25dd4 Added missing assert for sqrt 2013-10-05 14:05:28 +02:00
Christophe Riccio
5ea160413d Completed initializer list tests 2013-10-05 14:02:33 +02:00
Christophe Riccio
f9d4aafb6d Merge pull request #123 from dustin-biser/0.9.5
Modified quaternion mat3_cast for faster results
2013-10-05 04:34:40 -07:00
Dustin Biser
78fed634b7 Modified quaternion mat3_cast for faster results
- Make method more cache coherent
- Reduce number of multiplications
2013-10-04 22:08:08 -04:00
Christophe Riccio
a699f336f5 Merge pull request #118 from nikodil/0.9.5
Fixes for compilation with static_assert and constexpr
2013-10-01 02:02:34 -07:00
Christophe Riccio
258361ccd4 Added C++11 initalizer lists to quaternions 2013-10-01 02:00:27 +02:00
Christophe Riccio
2d5724e23a Added more initializer lists tests 2013-10-01 01:31:57 +02:00
Christophe Riccio
9b1f079856 Added C++ 11 initializer list for matrix types 2013-10-01 01:12:21 +02:00
Christophe Riccio
2badec664f Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-09-30 03:51:40 +02:00
Christophe Riccio
81ed43373f Fixed mat4 initializer list contructors 2013-09-30 03:50:40 +02:00
Christophe Riccio
d656658849 Added initializer_list contructor test 2013-09-30 03:17:54 +02:00
Christophe Riccio
812ff4fcc8 Initializer list experiment 2013-09-30 02:36:04 +02:00
Christophe Riccio
b51fe09cb9 Fixed build 2013-09-30 02:05:13 +02:00
Christophe Riccio
d2730008dd Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-09-30 01:57:25 +02:00
Christophe Riccio
f911117407 Replace glm::detail::type traits by std::numerical_limits traits 2013-09-30 01:57:05 +02:00
Christophe Riccio
6e337bd5e0 Added missing const expression qualifier on quaternion legth declaration 2013-09-30 01:16:34 +02:00
Christophe Riccio
f228d42910 Fixed template parameter name 2013-09-30 01:09:57 +02:00
Christophe Riccio
f6277af56f Replaced detail::type by std::numerical_limits 2013-09-30 01:06:54 +02:00
Christophe Riccio
5dc52c722c Added mat4 initializer experiment 2013-09-30 00:43:48 +02:00
Christophe Riccio
71855943e0 Added initializer lists 2013-09-29 19:44:59 +02:00
Felix Ungman
19808e30e2 Fixed static_assert errors 2013-09-25 10:14:24 +02:00
Felix Ungman
9d149d677f Fixed missing constexpr in quaternion length 2013-09-25 10:12:16 +02:00
Christophe Riccio
5d7c896a3f Fixed build on Visual C++ 2005 2013-09-24 01:21:55 +02:00
Christophe Riccio
3b3c28a227 Added missing include for VC2005 2013-09-23 09:48:39 +02:00
Christophe Riccio
1e69dfe30e Added a quation constructor taking two axis 2013-09-22 23:37:55 +02:00
Christophe Riccio
a15201dc59 Updated readme 2013-09-20 14:04:35 +02:00
Christophe Riccio
9374644a11 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-09-20 12:58:17 +02:00
Christophe Riccio
84b4c0422e Merge pull request #117 from ramassin/0.9.5
Fixed wrong rotation sign in eulerAngleY
2013-09-20 03:20:14 -07:00
Filippo Ramaciotti
95fc01aede Merge branch '0.9.5' of https://github.com/ramassin/glm into 0.9.5 2013-09-20 09:51:26 +02:00
Filippo Ramaciotti
3eb1f70758 Changed sign for eulerAngleY to make it consistent with the others 2013-09-20 09:49:51 +02:00
unknown
00bb64f412 Changed sign for eulerAngleY to make it consistent with the others 2013-09-20 09:42:27 +02:00
Christophe Riccio
ce40906a5a Added GLM 0.9.5 PDF manual 2013-09-19 22:37:43 +02:00
Christophe Riccio
b2b40e0f6b Fixed merge 2013-09-19 21:49:16 +02:00
Christophe Riccio
15b19a10be Updated readme for GLM 0.9.4.6 release 2013-09-19 21:48:06 +02:00
Christophe Riccio
b6f5b4121d Fixed merge 2013-09-19 21:46:51 +02:00
Christophe Riccio
843cc7bd61 Fixed eulerAngleY rotation orientation 2013-09-19 21:33:29 +02:00
Christophe Riccio
61589b8a28 Added a GTX_euler_angle unit test 2013-09-18 23:05:50 +02:00
Christophe Riccio
df152fa9db Updated version for next release 2013-09-18 00:28:36 +02:00
Christophe Riccio
08c95429fe Fixed build on GCC 2013-09-17 23:56:46 +02:00
Christophe Riccio
52d86dcc19 Fixed merge 2013-09-17 23:30:37 +02:00
Christophe Riccio
da67a79222 Removed invalid *= operators for non square matrix 2013-09-17 23:10:39 +02:00
Christophe Riccio
579ab2b7d2 Fixed const ref issue for vector types. Backport from GLM 0.9.5 branch #116 2013-09-17 23:02:04 +02:00
Christophe Riccio
0a9162e189 Fixed const ref issue for matrix types. Backport from GLM 0.9.5 branch #116 2013-09-17 22:52:37 +02:00
Christophe Riccio
dbef0b4eb5 Fixed build 2013-09-17 22:51:39 +02:00
Christophe Riccio
33a482a6be Added GCC49 detection 2013-09-17 22:51:24 +02:00
Christophe Riccio
55c242c15c Added GCC49 detection 2013-09-17 22:51:04 +02:00
Christophe Riccio
da6e485aad Fixed B /= B.y bug for all assignment operators of matrix classes. #116 2013-09-17 22:27:29 +02:00
Christophe Riccio
b258af3e67 Fixed B /= B.y bug for all assignment operators of vector classes. #116 2013-09-17 21:37:40 +02:00
Christophe Riccio
aa0b2a5e28 Fixed ldexp and frexp implementations 2013-09-17 01:16:00 +02:00
Christophe Riccio
dddcbe58e6 Factorized float to uint and co function code. 2013-09-17 01:06:45 +02:00
Christophe Riccio
4707333a58 Added std::round test 2013-09-16 03:14:44 +02:00
Christophe Riccio
d37d3539ed - Fixed ldexp implementation
- Increased assert coverage
- Increased static_assert coverage
- Replaced GLM traits by STL traits when possible
- Allowed including individual core feature
2013-09-16 03:03:49 +02:00
Christophe Riccio
cd0519d24b Optimized header inclusion of swizzle operator code. Not included when not enabled 2013-09-16 00:43:24 +02:00
Christophe Riccio
8eea3c7645 Remove tref* 2013-09-16 00:39:19 +02:00
Christophe Riccio
3e82b598b4 Completed swizzle operator documentation 2013-09-15 21:27:35 +02:00
Christophe Riccio
0a23b0a796 Added default template arguments to vector and matrix types 2013-09-15 21:00:14 +02:00
Christophe Riccio
b72ce6addc Swizzle operators are disabled again by default... :/ 2013-09-15 20:44:33 +02:00
Christophe Riccio
1d9e6dc95c Enabled swizzle operator by default, removed GLM_SWIZZLE and add GLM_SWIZZLE_RELAX for Visual C++ lang extension implementation. 2013-09-15 17:55:05 +02:00
Christophe Riccio
5d66caa7da Removed vector type functions named swizzle 2013-09-15 14:45:29 +02:00
Christophe Riccio
ca3927b61a Fixed swizzle tests 2013-09-15 14:40:21 +02:00
Christophe Riccio
6838815f9f Factorized fastInversesqrt code 2013-09-15 14:39:59 +02:00
Christophe Riccio
eeacdf37a0 Added low precision specializations of inversesqrt 2013-09-15 13:45:51 +02:00
Christophe Riccio
4bd84e1a0c Added low precision specializations of inversesqrt 2013-09-15 13:36:05 +02:00
Christophe Riccio
741756f17d Added comment on implementation details 2013-09-15 12:44:11 +02:00
Christophe Riccio
1a7dfa03ea Restore value_type member to vectors 2013-09-15 12:41:43 +02:00
Christophe Riccio
a2f3154129 Updated readme.txt 2013-09-15 04:46:25 +02:00
Christophe Riccio
795744906b Merge branch '0.9.4' into 0.9.5 2013-09-15 04:18:54 +02:00
Christophe Riccio
79405910bb Fixed superfluous up normalization in glm::lookAt() #114 2013-09-15 04:17:10 +02:00
Christophe Riccio
ba1ccbaba2 Fixed merge 2013-09-15 03:57:12 +02:00
Christophe Riccio
b9afb5e8b3 Updated readme for release of 0.9.4.6 2013-09-15 03:43:19 +02:00
Christophe Riccio
fadbc78307 Reorder slow functions... still to be tested. 2013-09-15 03:31:38 +02:00
Christophe Riccio
cc02b86fb1 Fixed merge 2013-09-15 03:30:20 +02:00
Christophe Riccio
bb9cc43a6d Updated CMake instruction set selection 2013-09-15 03:09:10 +02:00
Christophe Riccio
8658704bf6 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-09-11 01:09:21 +02:00
Christophe Riccio
08ada74f36 More precise C++ features detection 2013-09-11 01:06:11 +02:00
Christophe Riccio
6d2170adb3 Fixed C++11 activation on XCode for the CMake test suite ID 2013-09-10 19:58:02 +02:00
Christophe Riccio
5c84e480bf Fixed warnings generated by GLM_COMPONENT* #113 2013-09-10 00:01:25 +02:00
Christophe Riccio
c038e80e9f Optimized GTC packing functions 2013-09-09 15:16:14 +02:00
Christophe Riccio
cd186dadb3 Optimized packing and unpacking functions 2013-09-08 17:56:18 +02:00
Christophe Riccio
804078f690 Fixed test against GLM_COMPILER_GCC31 and GLM_COMPILER_VC2005 that doesn't exist in GLM 0.9.5 #111 2013-09-08 15:32:30 +02:00
Christophe Riccio
c9f623e717 Fixed glm::orientation with GLM_FORCE_RADIANS defined #112 2013-09-08 15:23:13 +02:00
Christophe Riccio
98a277d6af Removed a static_assert 2013-09-08 15:17:45 +02:00
Christophe Riccio
2a0d6e804b Updated readme 2013-09-08 03:46:49 +02:00
Christophe Riccio
966c049ce6 Fixed Snorm2x16 packing 2013-09-08 03:45:30 +02:00
Christophe Riccio
f9b944bd31 Fixed an overload resolution bug generating chains of convertions. 2013-09-08 03:14:31 +02:00
Christophe Riccio
0ff1026dbb Removed value_type and size_type 2013-09-08 02:30:16 +02:00
Christophe Riccio
d3f0262a27 Fixed .length() that should return a int and not a size_t 2013-09-08 00:25:26 +02:00
Christophe Riccio
b9266c07b0 Using C++ casts 2013-09-08 00:22:17 +02:00
Christophe Riccio
b7c020b6fe Updated GLM 0.9.5 doc 2013-09-07 18:35:01 +02:00
Christophe Riccio
72db321c68 Updated documentation 2013-09-07 13:09:28 +02:00
Christophe Riccio
f511121559 Merge nohalf 2013-09-06 02:17:09 +02:00
Christophe Riccio
e413381fad Merge 2013-09-06 02:14:15 +02:00
Christophe Riccio
eb7059ff26 Updated precision qualifier documentation 2013-09-02 00:50:26 +02:00
Christophe Riccio
82a3f8fafb Updated documentation for GLM 0.9.5 updates 2013-09-02 00:17:59 +02:00
Christophe Riccio
16b9c79acc Added implicit conversion of types with different precision qualifier 2013-09-02 00:16:41 +02:00
Christophe Riccio
635d2d0eca Fixed GTC_packing build 2013-09-01 18:22:47 +02:00
Christophe Riccio
8e955736ac Removed GTC_swizzle 2013-08-31 12:00:10 +02:00
Christophe Riccio
36a5f1cc20 Fixed merge 2013-08-31 11:53:05 +02:00
Christophe Riccio
0464c836cb Fixed merge 2013-08-31 11:50:30 +02:00
Christophe Riccio
f1e175e2e6 Updated doc 2013-08-31 11:47:10 +02:00
Christophe Riccio
d757ee2bfc Updated GLM 0.9.5 documentation 2013-08-31 01:56:02 +02:00
Christophe Riccio
7673080359 Clean up unused defines 2013-08-28 11:12:21 +02:00
Christophe Riccio
3948f7d46e Merge branch '0.9.5' into nohalf 2013-08-28 11:06:29 +02:00
Christophe Riccio
35b0d2afd8 Fixed a Visual C++ 10 bug regarding declaration of templates 2013-08-28 11:06:11 +02:00
Christophe Riccio
4ed278b9c7 Fixed merge 2013-08-28 10:57:51 +02:00
Christophe Riccio
c6062115c6 Removed l-value swizzle operators 2013-08-28 00:13:02 +02:00
Christophe Riccio
4b7862b314 Fixed issues with ref types for l-value swizzle operators 2013-08-27 13:50:55 +02:00
Christophe Riccio
b3d70c635b Bring back CXXMS and CXX98 code pass for swizzle operators 2013-08-27 12:15:53 +02:00
Christophe Riccio
bc72fafdd9 Removed multiple component selection code 2013-08-27 11:35:58 +02:00
Christophe Riccio
6e82d7ba31 Remove unsupported compiler detection 2013-08-27 11:05:06 +02:00
Christophe Riccio
1de93021bd Updated compiler detection 2013-08-27 10:50:33 +02:00
Christophe Riccio
4dd2b6893e Removed multiple code path for vector components 2013-08-27 10:49:04 +02:00
Christophe Riccio
22ab3bd59d Merge branch '0.9.5' into nohalf 2013-08-27 10:39:34 +02:00
Christophe Riccio
5be36e0ddc Merge branch 'packing' of https://github.com/g-truc/glm into packing 2013-08-27 10:38:39 +02:00
Christophe Riccio
0330485171 Merge branch '0.9.5' into packing 2013-08-27 10:16:55 +02:00
Christophe Riccio
80f6c06c78 Fixed merge 2013-08-27 10:16:33 +02:00
Christophe Riccio
b1230f2adc Fixed build 2013-08-26 11:14:46 +02:00
Christophe Riccio
0abec19bc1 Added missing documentation, missing 4x16 half packing functions, added initial tests 2013-08-26 08:28:17 +02:00
Christophe Riccio
fb13e7bf8a Added unpack 111110 implementation, missing inf and NaN code path 2013-08-26 07:38:34 +02:00
Christophe Riccio
6fd6cf2c8c Fixed packing implementation function names, added missing (un)PackUnom3x10_1_2 implementations, fixed rounding and clamping on (un)packSnom3x10_1x2 implementations 2013-08-25 22:50:48 +02:00
Christophe Riccio
5645369d56 Fixed packing implementation function names 2013-08-25 22:30:52 +02:00
Christophe Riccio
65d29dddaa Completed GTC_packing documentation 2013-08-25 22:26:10 +02:00
Christophe Riccio
44f9db1c3b Added documentation for GTC+packing 2013-08-25 00:02:03 +02:00
Christophe Riccio
965b641722 Added documentation for GTC+packing 2013-08-24 23:38:36 +02:00
Christophe Riccio
59cc657ada Added documentation for GTC_packing 2013-08-23 00:34:39 +02:00
Christophe Riccio
da95e96fcf Fixed build on Clang and C++11 2013-08-22 23:24:18 +02:00
Christophe Riccio
1807881509 Added packXNorm documentation 2013-08-21 00:14:02 +02:00
Christophe Riccio
9464e5b590 Added error for unsupported compiler versions 2013-08-20 23:25:38 +02:00
Christophe Riccio
da38a6e58c Better compiler detection in CMake. Language detection for Clang 2013-08-20 23:07:04 +02:00
Christophe Riccio
53bd892a88 Added 1x8 packing functions. Add documentation for half packing functions. 2013-08-19 00:36:56 +02:00
Christophe Riccio
6c1eb888ce Merge pull request #91 from zhumeng1989/0.9.5
Minor fix
2013-08-18 13:15:27 -07:00
Christophe Riccio
75a4068c82 Merge branch '0.9.5' into nohalf 2013-08-18 21:55:11 +02:00
Christophe Riccio
79822f932d Merge branch '0.9.5' into packing 2013-08-18 21:54:41 +02:00
Christophe Riccio
eb9fde1429 Redefined highp_int to int following GLM 0.9.5 conventions 2013-08-18 21:53:11 +02:00
Christophe Riccio
1ab7271e7d Fixed is_int and is_uint code duplication with GCC and C++11 #107 2013-08-18 21:33:13 +02:00
Christophe Riccio
eb07c880c3 Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2013-08-18 21:12:25 +02:00
Christophe Riccio
caf8f991ca Fixed detection to select the last known compiler if newer version #106 2013-08-18 21:07:47 +02:00
Christophe Riccio
d0e382592a Fixed C++0X on VisualC++ 2012+ 2013-08-18 19:53:03 +02:00
Christophe Riccio
3091725e92 Merge branch '0.9.5' into nohalf 2013-08-18 19:28:58 +02:00
Christophe Riccio
8f3907400d Merge branch '0.9.5' into packing 2013-08-18 19:27:15 +02:00
Christophe Riccio
c93ff0a6aa Fixed merge 2013-08-18 19:25:18 +02:00
Christophe Riccio
4570daf7d2 Fixed merge 2013-08-18 14:06:38 +02:00
Christophe Riccio
25a5c21a24 Initial build with half types removed 2013-08-14 00:55:47 +02:00
Christophe Riccio
54a395abd9 Added Visual C++ 2013 detection 2013-08-13 23:22:16 +02:00
Christophe Riccio
37ae8da67c Updated readme for release 2013-08-12 23:18:28 +02:00
Christophe Riccio
b592d9ff83 Added WINCE detection #92 2013-08-12 23:05:29 +02:00
Christophe Riccio
1951e24cfc Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-08-12 22:45:30 +02:00
Christophe Riccio
bcbffbea58 Fixed merge conflicts 2013-08-12 22:44:31 +02:00
Christophe Riccio
5b525ced24 Back port fix for issue #99 2013-08-12 22:32:39 +02:00
Christophe Riccio
1375a99b83 Added missing non-const value_ptr fort quat #99 2013-08-12 22:26:23 +02:00
Christophe Riccio
07d0077773 Merge pull request #99 from jarmond/0.9.5
Add missing non-const value_ptr for quat
2013-08-12 13:22:06 -07:00
Christophe Riccio
a105876133 Added GTC_packing implementation 2013-08-11 02:16:47 +02:00
Christophe Riccio
cf14790806 Added packF11F11F10 implementation 2013-08-10 19:52:59 +02:00
Christophe Riccio
e3e88f05a6 Merge branch '0.9.5' into packing 2013-08-09 23:22:53 +02:00
Christophe Riccio
97f43994cd Added f11f11f10 conversion code 2013-08-09 21:15:08 +02:00
Christophe Riccio
573712405b Added declaration for new GTC_packing extension 2013-08-09 00:01:02 +02:00
Jonathan Armond
e841c1dbe0 Add missing non-const value_ptr for quat 2013-07-15 12:06:54 +01:00
Christophe Riccio
b27ab93b19 Updated release date fo GLM 0.9.4.5 2013-07-15 10:33:00 +02:00
Christophe Riccio
2d983ed9cf Added WINCE detection 2013-07-15 10:18:32 +02:00
Christophe Riccio
5d151a1036 Merge pull request #96 from tszirr/0.9.4
fix: subscript swizzles in cuda device code #96
2013-07-14 11:40:11 -07:00
Christophe Riccio
4e43b388bd Updated release note for bug #97 2013-07-14 20:24:40 +02:00
Christophe Riccio
493b36cf15 Merge branch '0.9.4' into 0.9.5 2013-07-14 20:21:13 +02:00
Jacob Parker
1a189b3400 remove register specifier, deprecated in C++11 2013-07-14 20:20:45 +02:00
Christophe Riccio
44cdb7add7 Merge pull request #97 from j3parker/0.9.5
remove register specifier, deprecated in C++11
2013-07-14 10:40:05 -07:00
Jacob Parker
df192a6bcc remove register specifier, deprecated in C++11 2013-07-14 13:25:03 -04:00
tszirr
968c892f92 Revert "fix: no implicit vector copy"
Reason: Wrong branch
This reverts commit 2d88860244eb6a92f56d58e27b6d741c986035a1.
2013-07-12 15:44:02 +02:00
tszirr
861d6d1933 fix: swizzled operations in cuda code 2013-07-12 15:29:48 +02:00
tszirr
d0ddbc217d Merge https://github.com/tszirr/glm into 0.9.4 2013-06-24 16:07:01 +02:00
tszirr
2d88860244 fix: no implicit vector copy 2013-06-24 11:45:19 +02:00
tszirr
5a48614f57 fix: component declaration order -> debug display order! 2013-06-21 17:17:34 +02:00
tszirr
b016594ac3 fix: function-local static arrays unsupported in cuda device code 2013-06-17 10:49:02 +02:00
tszirr
58dc29a860 fix: subscript swizzles in cuda device code 2013-06-14 16:38:58 +02:00
Christophe Riccio
dbb0e5a312 Removed __declspec(align(16)) committed by mistake #91 2013-06-13 16:58:09 +00:00
Christophe Riccio
5f0c0a6f21 Fixed merge 2013-06-13 16:53:22 +00:00
Christophe Riccio
4688f896f9 Fixed language detection on GCC when the C++0x mode isn't enabled #95 2013-06-13 16:50:27 +00:00
Christophe Riccio
119b36c4f2 Updated revision number for GLM 0.9.4.5 release 2013-06-13 16:41:39 +00:00
Christophe Riccio
fa2cca847f Fixed use of intrinsics in pure mode #92 2013-06-13 16:37:39 +00:00
Christophe Riccio
9f1e0cd388 Fixed use of intrinsics in pure mode #92 2013-06-13 16:37:00 +00:00
zhumeng1989
88ee302567 Minor fix
1. type_vec4.hpp
__declspec(align(16)) produces a compiler error on VS2012:
func_common.inl(634): error C2719: 'a': formal parameter with
__declspec(align('16')) won't be aligned
core_func_common.cpp(310) : see reference to function template
instantiation 'glm::detail::tvec4<T,P> glm::mix<float,highp>(const
glm::detail::tvec4<T,P> &,const glm::detail::tvec4<T,P>
&,glm::detail::tvec4<bool,highp>)' being compiled
with
[
T=float,
P=highp
]
and a warning on CygWin using gcc 4.7.2:
type_vec4.hpp:40:31: warning: 'align' attribute directive ignored
[-Wattributes]

2. gtx_bit.cpp
glm::uint32 x_max = 1 << 13;
glm::uint32 y_max = 1 << 12;
result out of memory on my machine.
2013-06-10 22:23:22 +08:00
Christophe Riccio
5b7154468c Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-06-06 21:46:26 +00:00
Christophe Riccio
c1e150e6ec Added assets in perspective 2013-06-06 00:47:36 +00:00
Christophe Riccio
891d552d45 Merge pull request #87 from nikodil/0.9.5
Fixed operator*(mat4x4, vec4)
2013-06-05 15:20:25 -07:00
Felix Ungman
065d9848f7 Fixed operator*(mat4x4, vec4)
Calculate Add0, Add1, and Add2 using operator+ (instead of *)
2013-06-03 12:58:44 +02:00
Christophe Riccio
74d1f84e32 Fixed merge 2013-05-28 03:50:41 +02:00
Christophe Riccio
bbf9989334 Fixed test crash due to the normalization of a nan vector 2013-05-28 03:48:41 +02:00
Christophe Riccio
f4f7a71964 Back ported resolution for issue #71 for znear == 0 bug into branch 0.9.4 2013-05-28 03:47:26 +02:00
Christophe Riccio
11cf1126a9 Fixed merge 2013-05-28 03:14:17 +02:00
Christophe Riccio
e5df5fb0b3 Updated GLM 0.9.4.4 release note 2013-05-28 02:17:27 +02:00
Christophe Riccio
149df8e3db Added assert on input values for glm::perspective 2013-05-27 18:29:04 +00:00
Christophe Riccio
cf41c03c94 Fixed merge 2013-05-27 14:54:02 +00:00
Christophe Riccio
38f2d35f4a Merge pull request #86 from tszirr/0.9.4
0.9.4: Lots of CUDA warnings & swizzle fixes
2013-05-27 06:28:02 -07:00
tszirr
216ad4c34d Add more missing GLM_FUNC_QUALIFIERs 2013-05-27 15:07:22 +02:00
tszirr
e166850954 Fix missing return statement in swizzle assignment operator 2013-05-27 14:59:16 +02:00
tszirr
eb4cd987f1 Added missing GLM_FUNC_DECL specifiers 2013-05-27 14:55:08 +02:00
tszirr
fa77d41ab9 Fix broken _GLM_SWIZZLE4_4_MEMBERS 2013-05-27 14:34:41 +02:00
Christophe Riccio
129efd75a9 Back ported extended swizzle fix for issue #84 2013-05-26 09:59:39 +00:00
Christophe Riccio
edc5365189 Added more missing swizzle operators. #84 2013-05-26 09:57:04 +00:00
Christophe Riccio
1ac4dd648a Merge branch 'master' into 0.9.4 2013-05-26 09:37:46 +00:00
Christophe Riccio
959de31cfc Merge pull request #84 from meejah/master
Missing xwww swizzle
2013-05-22 15:44:37 -07:00
meejah
3352b45222 Add a missing swizzle, for .xwww 2013-05-22 10:45:30 -06:00
Christophe Riccio
056e053b3f Fixed merge 2013-05-16 14:36:51 +00:00
Christophe Riccio
b95a53095b Added assert in inversesqrt to detect division by zero. #61 2013-05-16 14:36:04 +00:00
Christophe Riccio
8ec6166072 Merge branch '0.9.4' into 0.9.5 2013-05-16 13:50:26 +00:00
Christophe Riccio
bc9aaa4033 Fixed glm.natvis, issue #82 2013-05-16 13:49:54 +00:00
Christophe Riccio
ef15d06104 Updated doxygen references 2013-05-12 15:51:11 +02:00
Christophe Riccio
0a54eb99b1 Fixed compatibility type, using precision qualifier 2013-05-12 15:50:49 +02:00
Christophe Riccio
01a98e97c1 Fixed perspective with zNear == 0 (#71) 2013-05-12 15:36:29 +02:00
Christophe Riccio
1c68cee29b Clean up code test for branch compatibility on all platforms 2013-05-12 11:40:25 +02:00
Christophe Riccio
9841d2a2b4 Removed SSE tests 2013-05-11 22:40:02 +02:00
Christophe Riccio
929b521381 Added embedded SSE opetimizations in mat4 code 2013-05-11 00:08:55 +02:00
Christophe Riccio
66e3e52592 Fixed increment and decrement operators for matrix types 2013-05-10 23:08:30 +02:00
Christophe Riccio
95e72aa545 Added asserts to GTC_matrix_access 2013-05-10 22:00:53 +02:00
Christophe Riccio
6487ed1c34 Added assert to row and column functions 2013-05-10 21:52:23 +02:00
Christophe Riccio
1b3d5cd378 Fixed space characters 2013-05-10 21:37:20 +02:00
Christophe Riccio
a2583caa0f Added vector type operator declarations 2013-05-10 14:03:54 +02:00
Christophe Riccio
a319cff426 Removed scalar functions 2013-05-10 12:36:10 +02:00
Christophe Riccio
ebd38a0a78 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-05-10 11:28:22 +02:00
Christophe Riccio
9556540244 Fixed documents 2013-05-10 11:28:08 +02:00
Christophe Riccio
28d8e7f251 Fixed increment and decrement operators tests 2013-05-10 01:44:13 +02:00
Christophe Riccio
4a93e0ab70 Fixed explicit empty constructors for specialized half classes 2013-05-09 16:06:59 +02:00
Christophe Riccio
1839858465 Fixed missing typename 2013-05-09 13:46:56 +02:00
Christophe Riccio
691f04e14f Fixed post in/decrement operators 2013-05-08 21:52:21 +02:00
Christophe Riccio
28c6bba18c Refacted GTC_angle 2013-05-07 01:20:00 +02:00
Christophe Riccio
929f140b1e Added GTC_angle extension files 2013-05-07 01:05:45 +02:00
Christophe Riccio
b2e55904b8 Fixed dual quat built on GCC 2013-05-07 01:02:52 +02:00
Christophe Riccio
5338aaac9e Added half literals 2013-05-07 01:01:56 +02:00
Christophe Riccio
49fbfa051c Optimized radians and degrees functions 2013-05-06 20:35:13 +02:00
Christophe Riccio
13f27821b9 Completed GTX_multiple for negative values, issue #79 2013-05-06 18:00:06 +02:00
Christophe Riccio
e3da5f952c Fixed merge 2013-05-06 15:34:37 +02:00
Christophe Riccio
57a093035f Updated cast test 2013-05-06 15:22:42 +02:00
Christophe Riccio
86a5825fee Merge pull request #80 from robert-ancell/0.9.4
Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases...
2013-05-06 06:16:35 -07:00
Christophe Riccio
092ccbe64f Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-05-05 21:36:41 +02:00
Christophe Riccio
56564badb5 Added tests for issue #72 2013-05-05 21:36:22 +02:00
Christophe Riccio
0d3883c204 Merge pull request #75 from mackron/quat_simd
SIMD Quaternions
2013-05-05 09:16:35 -07:00
Christophe Riccio
c795562f67 Renamed gentype::null into gentype::_null for Tizen, #78 2013-05-05 18:06:42 +02:00
Robert Ancell
f0d4080fe3 Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases. Does not fix the specialized versions of these functions 2013-05-03 16:52:06 -07:00
Christophe Riccio
31805bcd79 Removed grid test 2013-05-01 19:03:41 +02:00
Christophe Riccio
281a391b4d Fixed swizzle build on Visual C++ compiler 2013-05-01 01:54:48 +02:00
Dave Reid
e0cfd7d672 Attempt a small optimization in operator*(fquatSIMD, fvec4SIMD). No big improvement. 2013-04-24 15:00:03 +10:00
Dave Reid
c08ea7656b Reorganize operator* to makes things a bit clearer. 2013-04-24 14:46:20 +10:00
Dave Reid
1eb88e4bc1 Cleanup. 2013-04-24 14:06:28 +10:00
Dave Reid
c1006718b3 Add fastMix() and fastSlerp() implementations.
These have stricter pre-conditions than standard mix() and slerp()
  - 1) Input quaternions must be unit length.
  - 2) The interpolation factor (a) must be in the range [0, 1]

None of these restrictions should be too bad. The reason for these is that it uses fastAcos()
and fastSin(), both of which have a limited allowable range.

In my contrived tests, I observed about a 10x improvement over the standard versions. This is
mostly because of the faster acos/sin operations. The fastSin(__m128) implementation also helps
here because it can do four fastSin() operations simultaneously using SSE (mix() and slerp()
each need three).
2013-04-24 13:55:38 +10:00
Dave Reid
d07496460a Add the ability to convert a SIMD quat to a standard mat4. 2013-04-24 09:54:28 +10:00
Dave Reid
942bf08fe3 Add the ability to convert standard mat4s and mat3s to SIMD quats. 2013-04-24 09:39:22 +10:00
Dave Reid
13837e1079 Remove the SSE3 implementation in operator*(fquatSIMD, fquatSIMD).
The SSE2 version is now running faster than the SSE3 version.
2013-04-24 08:51:17 +10:00
Dave Reid
197b6c96d8 Improve efficiency of operator*(fquatSIMD, fquatSIMD) in SSE4 mode.
Now only requires 3 shuffle, 4 mul and 4 dpps.
2013-04-24 07:58:41 +10:00
Dave Reid
d23da666c5 Merge branch '0.9.5' of https://github.com/g-truc/glm into quat_simd 2013-04-24 07:33:10 +10:00
Christophe Riccio
5a82afae6f Fixed merge 2013-04-23 16:49:02 +02:00
Christophe Riccio
8c7828e6f7 Fixed merge 2013-04-23 16:40:07 +02:00
Christophe Riccio
3c7989486e Fixed literals in dual quaternion implementation 2013-04-23 16:39:15 +02:00
Christophe Riccio
fb99c4d2e7 Merge pull request #74 from mackron/0.9.5_Compilation_Fixes
SIMD compilation fixes + clamp() ambiguity fix.
2013-04-23 07:37:37 -07:00
Dave Reid
7563a8bc4d Add initial implementation of SIMD optimized quaternions.
A few things here can probably be improved by people a lot smarter then
me, but for the most part things are generally faster.

A few notes:
 - A fquatSIMD can be converted to a fmat4x4SIMD using mat4SIMD_cast().
 - A tquat<float> can be converted to a fquatSIMD using quatSIMD_cast().
 - Some functions are virtually the same as their scalar counterparts
   because I've just not been able to get them faster.
 - Only the basic functions are implemented. Future plans include fast,
   approximate normalize, length and mix/slerp functions.
2013-04-23 15:36:12 +10:00
Dave Reid
6a7ccdb530 Fix another compilation error. 2013-04-23 14:18:05 +10:00
Dave Reid
b6d994f638 Compilation fixes due to missing P template parameters. 2013-04-23 10:01:50 +10:00
Dave Reid
5519b86003 Fix fvec4SIMD and fmat4x4SIMD compilation errors. 2013-04-23 09:19:57 +10:00
Dave Reid
30dca2d0c7 Fix an ambiguity error with clamp(). 2013-04-23 09:09:37 +10:00
Christophe Riccio
161c6c474b Added library builds 2013-04-22 22:28:00 +02:00
Christophe Riccio
f1967b5fb3 Removed GTX_ocl_type, issue #64 2013-04-19 21:53:31 +02:00
Christophe Riccio
a67c7594bc Clarified comments in GTC_epsilon, issue #69 2013-04-19 21:44:49 +02:00
Christophe Riccio
85ae145cf5 Fixed merge 2013-04-19 21:38:57 +02:00
Christophe Riccio
073675d970 Updated readme for issue #70 2013-04-19 21:36:10 +02:00
Christophe Riccio
e5172fb284 Merge pull request #70 from Adellica/0.9.4
Fixed mat2x4 value-type constructor, issue #70
2013-04-19 12:33:43 -07:00
Christophe Riccio
e72f18997c Fixed GTX_multiple for negative values, issue #51 2013-04-19 21:30:52 +02:00
Christophe Riccio
604405e941 Fixed equal operator on quat 2013-04-17 18:24:02 +02:00
Christophe Riccio
54e9d54579 Fixed tests and mat type typedefs 2013-04-17 12:26:34 +02:00
Christophe Riccio
abbb0fc7cb Added component wise comparison operators for quaternion 2013-04-17 11:16:54 +02:00
Christophe Riccio
d4043ea49a Added all precision types for GTC_type_precision 2013-04-16 21:58:26 +02:00
Christophe Riccio
296e3d7007 Fixed half precision implementation 2013-04-15 11:04:24 +02:00
Kristian Lein-Mathisen
867db84ca5 Fixed mat2x4 value-type constructor
#include <glm/glm.hpp>
#include <iostream>
using namespace std;
int main() {
    // creating two should-be identical matrices
  glm::mat2x4 A((int)1);
  glm::mat2x4 B((float)1);

  float* Aptr = (float*)&A;
  float* Bptr = (float*)&B;
  for(int i = 0 ; i < 8 ; i++) cout << Aptr[i] << " ";  cout << endl;
  for(int i = 0 ; i < 8 ; i++) cout << Bptr[i] << " ";
}

output before patch:
1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0
output after patch:
1 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0
2013-04-14 23:30:30 +02:00
Christophe Riccio
c14e2d7fbc Added precision template parameter 2013-04-10 13:46:27 +02:00
Christophe Riccio
bb0398ae4a Updated default precision section 2013-04-02 01:53:30 +02:00
Christophe Riccio
d2c0cf0a93 Fixed space characters 2013-04-02 01:50:12 +02:00
Christophe Riccio
4b4f3fbbaa Fixed space characters and improved forward declaration, including extensions 2013-04-01 23:02:26 +02:00
Christophe Riccio
733cd31b0d Updated documentation design (code), improved swizzling description 2013-04-01 22:47:07 +02:00
Christophe Riccio
653e2e20ba Updated manual, new table of contents design. Created a faster compilation section, still in progress. 2013-04-01 14:07:08 +02:00
Christophe Riccio
e060785c15 Updated documentation for forward declaration 2013-04-01 13:06:47 +02:00
Christophe Riccio
9e5e056229 Clean up 2013-04-01 13:06:15 +02:00
Christophe Riccio
5bb22ed2ee Added txt files to the project solution 2013-04-01 13:05:43 +02:00
Christophe Riccio
589e7cda6b Added forward declarations (glm/fwd.hpp) for faster compilations, issue #56 2013-03-31 11:41:53 +02:00
Christophe Riccio
afb7779baf Added forward declarations (glm/fwd.hpp) for faster compilations, issue #56 2013-03-31 03:35:10 +02:00
Christophe Riccio
ea09100144 Added forward declarations (glm/fwd.hpp) for faster compilations, issue #56 2013-03-31 03:33:24 +02:00
Christophe Riccio
39cf417691 Added initial implementation for forward declarations: int and float scalar types, #56 2013-03-31 01:16:13 +01:00
Christophe Riccio
6a96cd819a Fixed dual quaternion build on Clang, fixed space characters #49 2013-03-31 00:48:28 +01:00
Christophe Riccio
78d3e5ca66 Updated readme 2013-03-27 02:33:59 +01:00
Christophe Riccio
e7dc01fc06 Fixed slerp, linear interpolation when cosTheta is close to 1, #65 2013-03-26 00:28:29 +01:00
Christophe Riccio
7739e9c3e3 Fixed merge 2013-03-20 01:49:22 +01:00
Christophe Riccio
c097769bad Updated readme 2013-03-19 20:16:11 +01:00
Christophe Riccio
dab66f81e5 Fixed mix function for bool and bvec* type third parameter, issue #59 2013-03-17 14:03:37 +01:00
Christophe Riccio
356e70e653 Autodetect C++ version using __cplusplus value, issue #62 2013-03-17 12:59:59 +01:00
Christophe Riccio
96ecbbb28b Added more mix function tests 2013-03-17 03:34:56 +01:00
Christophe Riccio
e7a5e50fc8 Fixed merge 2013-03-16 18:16:36 +01:00
Christophe Riccio
b7f622a142 Added mix function tests 2013-03-16 02:54:44 +01:00
Christophe Riccio
c3af426eb1 Added mix function tests 2013-03-16 02:46:41 +01:00
Christophe Riccio
003c547e43 Fixed isnan and isinf on Android with Clang, issue #54 2013-03-16 01:34:37 +01:00
Christophe Riccio
8ed5f541ff Resolved issue #58 2013-03-16 01:24:29 +01:00
Christophe Riccio
4d71624067 Added file headers so that the files are no longer empty. #57 2013-03-16 01:20:26 +01:00
Christophe Riccio
6c4ae0d241 Fixed space characters 2013-03-10 19:34:21 +01:00
Christophe Riccio
cc60e7d230 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-02-22 15:54:20 +01:00
Christophe Riccio
7c0cdb32ae Merge branch '0.9.4' into 0.9.5 2013-02-22 15:29:39 +01:00
Christophe Riccio
4c89167ac9 Clarifies the license applying on the manual and added a docx copy of the manual to the source 2013-02-22 15:28:33 +01:00
Christophe Riccio
5c44c6e9fc Merge branch '0.9.4' into 0.9.5 2013-02-22 10:49:00 +01:00
Christophe Riccio
bea3bd277f Updated readme 2013-02-22 10:48:47 +01:00
Christophe Riccio
a2be7bbc43 Merge pull request #52 from msomeone/0.9.5
Removed erroneous include "./gtc/dual_quaternion.hpp". Now correctly inc...
2013-02-22 01:38:59 -08:00
Christophe Riccio
f37af51426 Fixed API for euclian, only need a vec2 parameter 2013-02-22 10:17:25 +01:00
Maksim Vorobiev
2afa70aedf Removed erroneous include "./gtc/dual_quaternion.hpp". Now correctly including "./gtx/dual_quaternion.hpp" 2013-02-22 08:29:27 +03:00
Christophe Riccio
982bb5ce5d Added rotation function, issue #22 2013-02-22 01:08:33 +01:00
Christophe Riccio
a454354dfa Updated readme 2013-02-21 23:24:00 +01:00
Christophe Riccio
7b57810a34 Merge branch '0.9.4' into 0.9.5 2013-02-21 22:57:27 +01:00
Christophe Riccio
18a8efde62 Resolve issue #39, exp, squad and intermediate functions 2013-02-21 22:57:14 +01:00
Christophe Riccio
8320f165df Merge branch '0.9.4' into 0.9.5 2013-02-21 22:00:24 +01:00
Christophe Riccio
e53c8b8529 Fixed issue #48 2013-02-21 21:58:37 +01:00
Christophe Riccio
1e3cb00fe5 Completed bit interleaving for 3 and 4 values 2013-02-21 21:35:21 +01:00
Christophe Riccio
3e3736769c Fixed intrinsics build 2013-02-21 11:36:50 +01:00
Christophe Riccio
78118204f6 Merge branch '0.9.4' into 0.9.5 2013-02-20 16:22:07 +01:00
Christophe Riccio
2a4434786e Updated date 2013-02-20 16:21:56 +01:00
Christophe Riccio
a445d5ee68 Updated readme for GLM 0.9.5.0 2013-02-20 16:10:35 +01:00
Christophe Riccio
eafe125d95 Updated readme for GLM 0.9.4.3 2013-02-20 16:08:01 +01:00
Christophe Riccio
39d3bc1d40 Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5 2013-02-20 16:03:58 +01:00
Christophe Riccio
fb5c648598 Merge pull request #50 from msomeone/0.9.5
0.9.5
2013-02-20 07:03:50 -08:00
Maksim Vorobiev
50c870ea96 Moved all dual quaternion functionality from GTC space to GTX. 2013-02-20 17:57:17 +03:00
Christophe Riccio
c64e53e42f Fixed conflict 2013-02-20 15:56:24 +01:00
Christophe Riccio
af77fb3118 Fixed conflict 2013-02-20 15:53:35 +01:00
Christophe Riccio
efcecbd81a Clang detection for GLM_INLINE 2013-02-20 15:46:10 +01:00
Christophe Riccio
d8aba7302d Merge pull request #47 from mackron/Clang-Compile-Fix
Clang compilation error.
2013-02-20 06:43:55 -08:00
Maksim Vorobiev
23a84732ef Merge branch 'master' into 0.9.5 2013-02-20 17:26:09 +03:00
Maksim Vorobiev
93f0527b12 Removed unneccessary copypasted test 2013-02-20 15:48:16 +03:00
Maksim Vorobiev
c73dc4a05f Added dual quaternion functionality 2013-02-20 15:39:40 +03:00
Dave Reid
389ca19d61 Fix a Clang compilation error.
The issue here is that GLM_DEPRECATED, GL_ALIGN, etc is being left undefined with the Clang build.
2013-02-15 08:32:56 +10:00
Christophe Riccio
c868666c79 Fixed merge 2013-02-14 11:38:40 +01:00
Christophe Riccio
0df4b94c4b Fixed CUDA warnings and errors, #43 2013-02-14 01:08:24 +01:00
Christophe Riccio
fc77c7a54e Fixed documentation warnings, issue #46 2013-02-14 00:55:22 +01:00
Christophe Riccio
acbc578c3e Merge branch '0.9.4' into 0.9.5 2013-02-10 20:48:51 +01:00
Christophe Riccio
e359439b86 Updated unpackHalf2x16 implementation 2013-02-10 20:47:38 +01:00
Christophe Riccio
5de63682f2 Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.5 2013-02-10 19:25:38 +01:00
Christophe Riccio
bd7125c50b Added bit interleave for 3 and 4 integers 2013-02-10 19:25:11 +01:00
Christophe Riccio
6799127ec6 Fixed any and all for scalars 2013-02-04 19:17:47 +01:00
Christophe Riccio
59b9a780e9 Added GTX_scalar_relational implementation and tests 2013-02-04 19:04:32 +01:00
Christophe Riccio
c57a000791 Added bitfieldInterleave implementation 2013-02-01 23:55:25 +01:00
Christophe Riccio
df0d9e687e Improved bitfield interleaved tests 2013-02-02 04:44:21 -08:00
Christophe Riccio
920ca0a242 Experiments to add bitfieldInterleave 2013-02-01 20:53:32 +01:00
Christophe Riccio
1cebfa7bda Improved Intel Compiler detection 2013-02-01 00:45:24 +01:00
Christophe Riccio
db5a610882 Display Intel compiler detected 2013-02-01 00:05:52 +01:00
Christophe Riccio
4286b02686 Merge pull request #42 from mackron/perspective-fix
Fix a bug in glm::perspective(). Pull request #42
2013-01-31 14:59:33 -08:00
Christophe Riccio
ba71f8befe Fixed lang message 2013-01-31 23:38:13 +01:00
Christophe Riccio
5d22aabe70 Anonymous structure in unions are only supported by Visual C++, not C++ 11 2013-01-31 23:25:34 +01:00
Dave Reid
e6b8f7a40e Fix a bug in glm::perspective() where a degrees-to-radians conversion is being performed twice. 2013-02-01 07:30:38 +10:00
Christophe Riccio
fee63c9b0f Fixed message display 2013-01-31 21:17:19 +01:00
Christophe Riccio
d7ed4387e0 Fixed C++ 11 detection 2013-01-31 20:45:47 +01:00
Christophe Riccio
d52a388000 Refactoring of integer and float details, use of C++11 integer types when available. 2013-01-31 18:02:47 +01:00
Christophe Riccio
e1aa3142b2 Merge pull request #41 from Kangz/0.9.4
Fix a warning in func_integer.inl, issue #41
2013-01-31 06:06:31 -08:00
Christophe Riccio
b5607d0018 Fixed merge 2013-01-31 15:01:48 +01:00
Christophe Riccio
7848efdba9 Fixed space 2013-01-31 14:43:30 +01:00
Corentin Wallez
0be0a2cb41 Fix a warning in func_integer.inl
The lack of parenthesis triggered -Wshift-op-parentheses in Clang 3.2
2013-01-30 08:06:14 +00:00
Christophe Riccio
a4aa39f9bd Fixed 0x2013 dash character in comments that cause issue in Windows 2013-01-23 02:27:59 +01:00
Christophe Riccio
43a9e450fd Fixed mix for vec4 SSE implementation, issue #33 2013-01-23 02:18:43 +01:00
Christophe Riccio
37e380ca9b Fixed packDouble2x32 on XCode 4.5, issue #37 2013-01-23 01:49:42 +01:00
Christophe Riccio
a33a2b2c42 Fixed merge 2013-01-23 00:56:56 +01:00
Christophe Riccio
e7173dd156 Fixed compAdd, issue #40 2013-01-23 00:55:09 +01:00
Christophe Riccio
68cf8d5fe5 Updated readme.txt 2013-01-07 23:50:21 +00:00
Christophe Riccio
9a625f4d5b Fixed SIMD support for Intel compiler on Windows, issue #32 2013-01-07 23:37:59 +00:00
Christophe Riccio
6c855a892d Updated revision number for GLM 0.9.4.2 release 2013-01-07 23:29:29 +00:00
Christophe Riccio
115c7fc64a Added specific code path to isnan and isinf for CUDA, issue #35 2013-01-07 23:24:27 +00:00
Christophe Riccio
a7feb46c1a Fixed build 2013-01-04 14:26:18 +00:00
Christophe Riccio
889a7594d9 Fixed bug #34, GLM_FORCE_RADIANS not working on glm::perspective 2013-01-02 00:05:07 +00:00
Christophe Riccio
9926506c7f Added assert to ensure lerp is used in the correct range of value 2012-12-23 12:34:55 +01:00
Christophe Riccio
cd043f2ee2 Fixed GCC warnings 2012-12-23 01:26:20 +01:00
Christophe Riccio
b31d1b560c Updated doxygen doncumentation 2012-12-22 14:49:37 +01:00
Christophe Riccio
87a54a52a0 Updated release date 2012-12-22 14:44:11 +01:00
Christophe Riccio
b033f9b4e8 Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2012-12-22 14:31:40 +01:00
Christophe Riccio
5db36dc39c Fixed epsilonEqual test on quaternions 2012-12-22 14:30:46 +01:00
Christophe Riccio
06b1578117 Merge pull request #28 from mackron/QuatWarningFix
Fix a -Wswitch-default warning in GCC.
2012-12-22 02:56:46 -08:00
Dave Reid
dc9a2486d6 Fix a -Wswitch-default warning in GCC.
The default case should never actually be met. I've added an assert(false) statement here for sanity.
2012-12-22 11:57:19 +10:00
Christophe Riccio
ac59f0e4c5 Updated manual, fixing issue #16 2012-12-22 02:23:39 +01:00
Christophe Riccio
ad36b36b5b Updated mix and lerp documentation 2012-12-22 01:32:33 +01:00
Christophe Riccio
29805391bd Added tests for slerp function 2012-12-22 00:32:07 +01:00
Christophe Riccio
b78d53d0ac Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2012-12-21 23:05:38 +01:00
Christophe Riccio
912d1b1e81 Added slerp, lerp and mix functions for quaternions. Added, fixed and clarified documentation. 2012-12-21 23:05:10 +01:00
Christophe Riccio
a38b927608 Merge pull request #27 from mackron/SIMD
SIMD MinGW Fixes
2012-12-21 11:02:43 -08:00
Christophe Riccio
6f22430bbc Resolved quaternion slerp interpolation, implemented by mix function 2012-12-21 02:21:21 +01:00
Dave Reid
7b6fb9f635 Fix GCC warnings. 2012-12-21 10:48:10 +10:00
Dave Reid
f206f39c3a Fix MinGW compilation error. 2012-12-21 10:38:46 +10:00
Christophe Riccio
b5274bfa52 Updated readme.txt for GLM 0.9.4.1 release 2012-12-21 00:18:34 +01:00
Christophe Riccio
d694c0d19d Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2012-12-21 00:17:51 +01:00
Christophe Riccio
82832839c2 Resolved issue #24, incorrect assert messages for step and smoothstep 2012-12-21 00:17:23 +01:00
Christophe Riccio
1a2e05a1cc Merge pull request #25 from mackron/SIMD
SIMD Improvements and Additions
2012-12-20 15:05:05 -08:00
Dave Reid
18c616528a Add missing implementations of fmat4x4SIMD unary operators. 2012-12-21 08:33:14 +10:00
Dave Reid
c6c8dd15f2 Add missing implementation of fmat4x4SIMD binary operators. 2012-12-21 08:28:34 +10:00
Dave Reid
a4ea111417 Add a new constructor to fmat4x4SIMD that takes a __m128[4]. This is used in a future commit. 2012-12-21 08:19:36 +10:00
Dave Reid
60c3d3c943 Improve const-correctness in instrinsic_matrix.inl. 2012-12-21 08:12:30 +10:00
Dave Reid
3681cd3523 Add support for doing an identity initialization in the default constructor of fmat4x4SIMD().
This is disabled by default and enabled with GLM_SIMD_ENABLE_DEFAULT_INIT. It makes toggling between SIMD and non-SIMD builds a bit easier.
2012-12-21 07:55:39 +10:00
Dave Reid
efff3add87 Add support for doing a (0.0, 0.0, 0.0, 0.0) initialization in the default constructor of fvec4SIMD().
This is disabled by default, but enabled with GLM_SIMD_ENABLE_DEFAULT_INIT. This makes toggling between SIMD and non-SIMD builds a bit easier.
2012-12-21 07:49:49 +10:00
Dave Reid
87c90590be Add support for x,y,z,w accessors to fvec4SIMD.
This is done via a union. It must be enabled with GLM_SIMD_ENABLE_XYZW_UNION. A nameless struct/union warning in VC (C4201) is explicitly disabled with the "pragma warning(push/pop)" system.

Allowing xyzw access makes it much easier to toggle between SIMD and non-SIMD builds.
2012-12-21 07:40:03 +10:00
Christophe Riccio
560b474008 Fixed quat slerp using mix function when cosTheta close to 1 2012-12-20 18:13:04 +01:00
Christophe Riccio
0b41846700 Fixed speeling 2012-12-20 11:16:12 +01:00
Christophe Riccio
c19dda3797 Fixed quaternion interpolation when cosTheta is close to zero 2012-12-20 00:37:28 +01:00
Christophe Riccio
ec05d43d7d Updated readme for GLM 0.9.4.1 release 2012-12-16 22:05:23 +01:00
Christophe Riccio
443f62bb08 Fixed issue #19, fixed -0.0 with half 2012-12-16 21:54:54 +01:00
Christophe Riccio
739ab3529c Resolved issue #4, added GLM_GTX_rotate_normalized_axis 2012-12-14 00:14:02 +01:00
Christophe Riccio
8a291a9dc2 Fixed bug #14, fixed constexpr 2012-12-13 23:08:41 +01:00
Christophe Riccio
841f91e830 Fixed bug #15, added missing roll, pitch and yaw functions; Fixed half implicit conversions 2012-12-13 22:48:20 +01:00
Christophe Riccio
931b7bcdd6 Fixed issue #18 glm::clamp and NaN's 2012-12-13 11:26:59 +01:00
Christophe Riccio
a7fb9f31fd Fixed bug #13, ICC built on Linux 2012-12-10 14:07:33 +01:00
Christophe Riccio
c7fa6d745a Revert previous change trying to fix bug #13: Break the build on Windows... 2012-12-09 00:40:25 +01:00
Christophe Riccio
8b75ff6e1c Added GTX_multiple tests 2012-12-07 11:25:06 +01:00
Christophe Riccio
7e0288359f Tentative of fixing bug #13, nextafter on Intel compiler 2012-12-07 11:22:13 +01:00
Christophe Riccio
753d5db251 Updated documentation 2012-11-18 14:05:52 +01:00
Christophe Riccio
5474e33d08 Clean up util files 2012-11-18 14:03:14 +01:00
Christophe Riccio
b8f30c5ad3 Fixed bug #11, added missing quat based epsilonEqual and epsilonNotEqual definitions 2012-11-15 15:37:28 +01:00
Christophe Riccio
47b610c6d3 Clean up doxygen documentation 2012-11-15 15:29:41 +01:00
Christophe Riccio
4b18cc7051 Clean up doxygen documentation... was exposing implementation details 2012-11-14 12:16:10 +01:00
Christophe Riccio
2f8f070597 Fixed GTC_epsilon with Clang 2012-11-14 12:02:24 +01:00
Christophe Riccio
0b745d4e1c Clean up space characters 2012-11-13 17:57:42 +01:00
Christophe Riccio
7b60ef7ab4 Merge branch 'master' of https://github.com/g-truc/glm into 0.9.4 2012-11-13 17:55:19 +01:00
Christophe Riccio
214c56cd45 Updated doxygen documentation 2012-11-13 17:54:11 +01:00
Christophe Riccio
63ae274be2 Merge pull request #10 from boromisp/master
Sphere intersection fixes
2012-11-13 08:51:21 -08:00
Christophe Riccio
9a4abb07ef Updated GLM manual for 0.9.4 2012-11-13 13:48:37 +01:00
Christophe Riccio
7778013575 Fixed space characters 2012-11-13 13:19:11 +01:00
boromisp
1683e78f58 Fixed the line-sphere intersection
The original implementation had the same mistakes than the ray-sphere
intersection.
Added two new 'out' parameters to return both intersection ponits.
Changed the implementation to the geomethric method.
2012-11-11 23:53:10 +01:00
boromisp
ed12134f34 Fixed the original ray-sphere intersection
Changed the original analytic method to a geometrical.

The errors in the original intersection calculation:
The function has a sphere center parameter, but ignores it and assumes
that the sphere is in the origo.
It calculates the length of the ray direction vector, but later on uses
this vector as a unit vector.
The position calculation is simply wrong. It multiplies the direction
vector with the radius of the sphere instead of the calculated
intersection distance.

The quadratic equation solving could be improved too:
There should be an early exit for negative discriminant.
The naive implementation sould be changed to a floating-point
specialized one.
2012-11-11 23:41:11 +01:00
boromisp
3a3c1fd8e8 Added new ray-sphere intersection
This version uses a geometric method (usually faster) and doesn't
calculate the intersection position and normal, only the distance.
2012-11-11 23:09:12 +01:00
Christophe Riccio
4fff9b4367 Added matrix inverse tests and clean up space characters 2012-11-09 03:39:43 +01:00
Christophe Riccio
c9a0b87c7b Fixed spaces 2012-11-09 01:24:22 +01:00
Christophe Riccio
a69de771a0 Fixed merge 2012-11-09 01:24:04 +01:00
Christophe Riccio
f96b0424ec Merge pull request #5 from komiga/master
Fixed component swapping in tmat2x2::_inverse()
2012-11-08 16:00:49 -08:00
Christophe Riccio
4d3af10700 Fixed space characters 2012-11-08 15:00:50 +01:00
Christophe Riccio
669ace8067 Fixed space character 2012-11-08 14:34:22 +01:00
Christophe Riccio
bfec0e2388 Fixed epsilon for half types 2012-11-06 02:26:31 +01:00
Christophe Riccio
1fb8bec873 Fixed abs function for half based types 2012-11-06 01:23:14 +01:00
Christophe Riccio
cdf5d19275 Fixed space characters, using tab 2012-11-06 00:44:48 +01:00
Christophe Riccio
415c970188 Renamed equalEpsilon function into epsilonEqual and added tests 2012-11-05 19:43:23 +01:00
Christophe Riccio
9d9a625493 Renamed equalEpsilon function into epsilonEqual and added tests 2012-11-05 19:39:22 +01:00
Christophe Riccio
a350a26e3b Fixed merge 2012-11-04 21:59:53 +01:00
Christophe Riccio
16876bef5a Fixed merge 2012-11-04 21:57:19 +01:00
Christophe Riccio
1dda2390e5 Fixed warnings on MacOS X 2012-11-04 14:26:54 +01:00
Christophe Riccio
1cc7448c43 Fixed CUDA 5 warning due to parameter name mismatch between the declaration and the definition 2012-11-03 00:34:19 +01:00
Tim Howard
e2bc911f00 Fixed component swapping in tmat2x2::_inverse().
NB: glm::detail::tmat2x2::_inverse() incorrectly swaps all components instead of only main diagonals:

	A = ⌈a  b⌉
	    ⌊c  d⌋

(using standard representation). _inverse() on A incorrectly gives the order

	⌈ d  -c⌉
	⌊-b   a⌋

(swaps both diagonals) where it should be

	⌈ d  -b⌉
	⌊-c   a⌋

(I am leaving out division by the determinate for clarity).

Also, glm::inverse() in `glm/core/func_matrix.inl` is correct for 2x2 matrices and shows the mistake of _inverse().
The unit tests do not appear to test division of a mat2 by a mat2 (where this could arise).
2012-10-22 17:23:03 -04:00
Christophe Riccio
1ded040f23 Merge branch 'master' into 0.9.4 2012-10-18 12:16:52 +02:00
Christophe Riccio
44e7f41bf5 Fixed readme 2012-10-18 12:13:21 +02:00
Christophe Riccio
af2debfd43 Fixed spaces 2012-10-18 12:12:32 +02:00
Christophe Riccio
346e305593 Updated doxyfile for version 1.8.0 2012-10-18 12:11:48 +02:00
Christophe Riccio
e1afbc9cea Merge pull request #22 from progschj/master
Multiline comment warning from setup.h
2012-10-18 03:04:29 -07:00
Jakob Progsch
476abb8be0 removed \ from commented out out macro on line 564 to avoid compiler warnings for multiline comments 2012-10-18 11:56:54 +02:00
Christophe Riccio
9e6a23aaed Merge branch 'master' of https://github.com/g-truc/glm into 0.9.4 2012-10-13 23:04:00 +02:00
Christophe Riccio
5868f20644 Merge pull request #3 from greenboxal/master
Visual Studio 2012 Debugger Visualizers
2012-10-13 14:02:07 -07:00
Christophe Riccio
d18a415ddd Updated readme with Apple platform update 2012-10-13 22:47:49 +02:00
Christophe Riccio
c899d63725 Fixed Clang and LLVM GCC detection 2012-10-13 18:26:04 +02:00
Christophe Riccio
88092b1c19 Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2012-10-09 20:36:31 +02:00
Christophe Riccio
3647c867e5 updated spaces 2012-10-09 20:36:02 +02:00
Jonathan Lima
7d9c22094c Added debbugger visualizers for Visual Studio 2012.
Signed-off-by: Jonathan Lima <greenboxal@gmail.com>
2012-10-05 11:56:50 -03:00
Christophe Riccio
e7233b20a8 Merge branch 'master' of https://github.com/Groovounet/glm into 0.9.4 2012-09-25 00:28:42 +02:00
Christophe Riccio
5adff62c34 Merge pull request #19 from cneumann/master
Replacement FindGLM.cmake that follows cmake module guidelines a bit more
2012-09-24 15:27:22 -07:00
Carsten Neumann
ed2f46f2fa make FindGLM.cmake more compliant with cmake module recommendations 2012-09-24 15:20:02 -05:00
Christophe Riccio
b9d9ae4ec5 updated CLang version detection 2012-09-23 15:30:17 +01:00
Christophe Riccio
8b5e63375f updated CLang version detection 2012-09-23 15:27:47 +01:00
Christophe Riccio
3fc42c9e9e Simplify Compilation build model detection 2012-09-20 17:31:32 +02:00
Christophe Riccio
8aa2eafc36 Added experiment in comment to auto detect the instruction set 2012-09-20 16:35:10 +02:00
Christophe Riccio
8c4ea6ebb2 Fixed isnan on GCC 2012-09-20 12:28:12 +02:00
Christophe Riccio
c6d87a9458 Added compiler detection 2012-09-20 11:40:15 +02:00
Christophe Riccio
1eac545656 Fixed Intel compiler detection 2012-09-20 10:28:39 +02:00
Christophe Riccio
b012c80771 Fixed isnan for Intel compiler 2012-09-20 10:17:03 +02:00
Christophe Riccio
b1ecabdd28 Fixed GTX_matrix_interpolation, issue #9 2012-09-19 19:14:45 +02:00
Christophe Riccio
7e3f00d034 Added missing test files 2012-09-19 15:34:23 +02:00
Christophe Riccio
c2eea6da26 Removed floor_log2, comment that isnan and isinf are not working on MinGW 2012-09-18 01:52:16 +02:00
Christophe Riccio
c7812d44cf Added findLSB test 2012-09-16 23:26:25 +02:00
Christophe Riccio
56738ee5cb Added idea for SSE2 implementation of findMSB 2012-09-13 02:14:41 +02:00
Christophe Riccio
69dd0d26b5 Updated readme.txt for 0.9.4.0 release 2012-09-13 00:45:20 +02:00
Christophe Riccio
8a7d6080d1 Fixed findMSB generic path 2012-09-13 00:43:46 +02:00
Christophe Riccio
a2ba0ea86f Merge branch '0.9.3' of https://github.com/Groovounet/glm into 0.9.4 2012-09-12 15:59:17 +02:00
Christophe Riccio
d6bbf90670 Merge pull request #17 from muep/fix_msb
Progress on fixing FindMSB implementation. Negative values and zeros remains to be done.
2012-09-12 06:56:44 -07:00
Joonas Sarajärvi
ad3422f6aa Better fix glm::findMSB for GCC >= 4.0
The previous fix only worked correctly for values where
the most significant enabled bit was the only enabled bit.

This change changes the implementation back to using clz,
but so that the result is changed with additional arithmetics.

There is still at least one known limitation with regards
to acceptable input types, but this is documented in the code.
2012-09-12 15:17:21 +03:00
Joonas Sarajärvi
daa51e42bb Fix glm::findMSB for GCC >= 4.0
Before this fix, the GCC specific MSB function returned the number
of leading zero bits in the parameter value. With this change,
the number of trailing zero bits is returned instead.

I am not entirely sure if this fix is correct, because I could not
find a clear reference about what findMSB in GLSL is really
supposed to return with some concrete input value.
At least the result is now consistent with the GLM_ARCH_PURE
implementation of glm::findMSB.
2012-09-12 01:59:13 +03:00
Joonas Sarajärvi
da530ac46e Fix integer version of glm::log2 for GCC
This pretty much reverts the fix done in commit
1ed0e3865b5de0ee993b064b37749bc85e928d7f

This temporarily breaks log2 for GCC in cases where GLM_FORCE_PURE
is not defined. The workaround introduced in commit
1ed0e3865b5de0ee993b064b37749bc85e928d7f seems to rely
on getting invalid results from the nlz function.

Broken nlz is caused by a broken findMSB function for GCC.

A fix for the findMSB function should be available in a nearby
separate commit.
2012-09-12 01:51:02 +03:00
Christophe Riccio
1822f9dd04 Added Intel compiler support 2012-09-11 02:30:28 +02:00
Christophe Riccio
e8cbc50343 Fixed SSE detection on Visual C++ 2012-09-06 20:05:11 +02:00
Christophe Riccio
88cbbebac6 Merge branch 'master' into 0.9.4 2012-09-06 18:45:15 +02:00
Christophe Riccio
ef86084b84 Removed GLM website from the source repository 2012-09-06 00:30:34 +02:00
Christophe Riccio
c588e9fa1e Merge pull request #16 from gigadude/master
Fix broken GCC SSE support
2012-09-05 15:03:27 -07:00
Ed Hutchins
311c64c3d3 Fixed SSE detection 2012-09-05 14:48:02 -07:00
Christophe Riccio
2f3dd90aca Merge branch '0.9.3' into 0.9.4 2012-09-05 23:45:12 +02:00
Christophe Riccio
72a01d3432 Experiment to do 2012-08-22 18:22:06 +01:00
Christophe Riccio
09a8d5a621 Fixed warning from #123 comments 2012-07-01 11:32:55 +01:00
Christophe Riccio
ab552c3acd Compiled GLM site 2012-06-30 19:36:05 +01:00
Christophe Riccio
485700a546 Updated downloads 2012-06-30 14:45:56 +01:00
Christophe Riccio
5506d67789 Getting GLM 0.9.3.4 release 2012-06-30 14:05:52 +01:00
Christophe Riccio
35995e40f0 Merge branch '0.9.3' into 0.9.4 2012-06-30 01:11:36 +01:00
Christophe Riccio
ac8ec9b97c Fixed SSE includes with GCC 2012-06-30 01:05:45 +01:00
Christophe Riccio
9bd19663c1 Fixed #186, fixed warning 2012-06-28 19:45:28 +01:00
Christophe Riccio
3ab80ffe6d Fixed #187, fixed bitfieldExtract for vector based type 2012-06-28 19:40:42 +01:00
Christophe Riccio
a979cb483e Updated readme for GLM 0.9.3.4 release 2012-06-28 19:15:57 +01:00
Christophe Riccio
e26b0587b2 Deleted VIRTREV_xstream 2012-06-28 17:01:02 +01:00
Christophe Riccio
4797b4922a Fixed comflict 2012-06-20 15:13:19 +01:00
Christophe Riccio
bfae1e09f5 Merge branch '0.9.4' of github.com:Groovounet/glm into 0.9.4 2012-06-20 15:11:50 +01:00
Christophe Riccio
6eeec5c191 Updated index 2012-06-20 15:11:30 +01:00
Christophe Riccio
a5e450cc01 Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.3 2012-06-20 15:09:56 +01:00
Christophe Riccio
ba6807b754 Added SSE4 and AVX2 detection, most changes from d9dc21328f 2012-06-03 02:17:36 +01:00
Christophe Riccio
b88c550a10 Updated version for next release 2012-06-03 01:11:35 +01:00
Christophe Riccio
fa0cc7a319 Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.4 2012-05-20 11:14:42 +01:00
Christophe Riccio
febf667159 Updated links 2012-05-12 15:42:33 +01:00
Christophe Riccio
c4d886a3d6 Updared readme 2012-05-10 00:14:20 +01:00
Christophe Riccio
965873430c Prepare GLM 0.9.3.3 release 2012-05-09 23:59:42 +01:00
Christophe Riccio
ac0c938442 Fixed VC warning 2012-05-09 22:39:17 +01:00
Christophe Riccio
921b2d8404 Merge branch '0.9.3' into 0.9.4 2012-05-09 20:56:32 +01:00
Christophe Riccio
40622b0e79 Fixed merge 2012-05-08 21:01:40 +01:00
Christophe Riccio
ff3ad788df Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.3 2012-05-08 20:58:01 +01:00
Christophe Riccio
6654df6a10 Merge branch '0.9.3' into 0.9.4 2012-05-02 13:09:48 +01:00
Christophe Riccio
ade527271e Fixed transpose test 2012-05-02 13:09:26 +01:00
Christophe Riccio
45f82ab884 Added transpose test 2012-05-02 13:09:17 +01:00
Christophe Riccio
34dc3a6ef6 Fixed matrixCompMult function for none square matrix 2012-05-02 13:07:55 +01:00
Christophe Riccio
77eabf703a Merge branch '0.9.3' into 0.9.4 2012-05-02 13:07:06 +01:00
Christophe Riccio
05426e7398 Fixed matrixCompMult function for none square matrix 2012-05-02 13:06:00 +01:00
Christophe Riccio
dadf53884e Fixed transpose test 2012-05-02 12:34:07 +01:00
Christophe Riccio
bcc40eb6d6 Added transpose test 2012-05-02 12:25:15 +01:00
Christophe Riccio
6920963069 Updated readme.txt 2012-05-02 11:28:34 +01:00
Christophe Riccio
a5fdf3c1bf Fixed ticket #182, isnan and isinf conflicts 2012-04-30 22:23:08 +01:00
Christophe Riccio
928ed30fe0 Fixed namespace issue with stream operators 2012-04-23 15:41:18 +01:00
Christophe Riccio
fb220d3f84 Fixed warnings: cast and redefined defines 2012-04-23 15:34:29 +01:00
Christophe Riccio
4989ad5a97 Fixed android detection #180 2012-04-23 14:58:46 +01:00
Christophe Riccio
17eb14125a Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.3 2012-04-19 11:30:28 +01:00
Christophe Riccio
958bb6f6ca Fixed GTX_compatibility on Android r7 2012-04-19 11:29:57 +01:00
Christophe Riccio
4585395a89 Added CMake test build options 2012-04-14 18:19:28 +01:00
Christophe Riccio
ac768ea12b Added an alias (slerp) for mix with quaternions 2012-04-14 15:33:44 +01:00
Christophe Riccio
80a4a7973c Merge branch '0.9.3' into 0.9.4 2012-04-14 14:49:59 +01:00
Christophe Riccio
874a675bb9 Fixed nextafter for float on Intel compiler 2012-04-14 14:45:27 +01:00
Christophe Riccio
535f67e45e Ticket #176, workaround for Intel compiler which has a bug with lookAt 2012-04-14 14:32:30 +01:00
Christophe Riccio
417692e83c Updated test notice 2012-04-07 17:18:04 +01:00
Christophe Riccio
148e829e5b Added value_ptr tests 2012-04-07 13:54:34 +01:00
Christophe Riccio
6a4677c30e Promoted GTX_epsilon, GTX_ulp, fixed build, removed deprecation warning at build time 2012-04-07 02:30:26 +01:00
Christophe Riccio
b2f0f4d3f9 Move noise, random and ulp test to GTC tests 2012-04-07 00:36:15 +01:00
Christophe Riccio
543062d325 Fixed warning 2012-04-06 23:55:55 +01:00
Christophe Riccio
cb017c5bca Promoted angle axis interaction with quaternion 2012-04-06 21:04:46 +01:00
Christophe Riccio
631240eefa Merge branch '0.9.4' of github.com:Groovounet/glm into 0.9.4 2012-04-06 16:47:33 +01:00
Christophe Riccio
5454f224b8 Fixed merge 2012-04-06 16:38:28 +01:00
Christophe Riccio
a2833dcb3c Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.3 2012-04-06 13:53:14 +01:00
Christophe Riccio
17563f9a28 Fixed perspectiveFov 2012-04-06 13:52:43 +01:00
Christophe Riccio
7373e7b8da Promote eulerAngles to GTC quaternion extension 2012-04-01 18:19:09 +01:00
Christophe Riccio
fa84c6d1b0 Added length implementation 2012-03-31 11:19:20 +01:00
Christophe Riccio
28ea6eb5c4 Merge pull request #5 from zhumeng1989/mytest
Fixed a bug in test/gtx_simd_mat4->test_mulD
2012-03-25 14:01:16 -07:00
Meng Zhu
4479150858 Fixed a bug in test/gtx_simd_mat4->test_mulD 2012-03-24 17:25:33 +08:00
Ian Caven
50d3b3d045 Added a return statement to remove a compiler warning 2012-03-20 12:07:55 -07:00
Ian Caven
a1af57aaac Changed the assert to a define so that it removed for CUDA debug compiles 2012-03-20 11:59:26 -07:00
Ian Caven
f6ae02c608 Changes to compile with CUDA 2012-03-20 11:04:30 -07:00
Christophe Riccio
c201d62d01 Merge branch '0.9.3' of github.com:Groovounet/glm into 0.9.4 2012-03-18 11:12:44 +00:00
Christophe Riccio
edd6cf0b64 Merge branch '0.9.4' of github.com:Groovounet/glm into 0.9.4 2012-03-17 00:11:40 +00:00
Christophe Riccio
82f86a8057 Added GLM 0.9.3.2 release 2012-03-17 00:04:21 +00:00
Christophe Riccio
81efafa976 Merge branch '0.9.3' into 0.9.4 2012-03-16 21:55:54 +00:00
Christophe Riccio
cca0dfa3b9 Updated github post 2012-03-10 20:55:29 +00:00
Christophe Riccio
14cfe58ede Move repository to git 2012-03-10 14:51:37 +00:00
Christophe Riccio
b963dab49d Removed api doc form the repository 2012-02-19 22:45:51 +00:00
Christophe Riccio
8537e33b8d Fixed ticket 169, parameter not used for mat division 2012-02-19 22:43:40 +00:00
Christophe Riccio
edccfa24b9 Fixed Clang version defines, ticket #170 2012-01-26 01:25:20 +00:00
Christophe Riccio
f267b6ea18 Promote GTC_constants 2012-01-25 18:54:28 +00:00
Christophe Riccio
fb3a41995a Ticket #137, added constexpr support 2012-01-25 18:36:04 +00:00
Christophe Riccio
080dc2dd82 Promoted GTX_reciprocal 2012-01-25 16:43:35 +00:00
Christophe Riccio
100b2202dd Added GLM_FORCE_RADIANS 2012-01-25 16:37:09 +00:00
Christophe Riccio
ebd1ba8bf6 Merge branch '0.9.3' into 0.9.4 2012-01-25 15:53:41 +00:00
Christophe Riccio
b08fd7e4b3 Added background 2012-01-25 14:10:28 +00:00
Christophe Riccio
db150c6bda Fixed merge 2012-01-24 14:49:46 +00:00
Christophe Riccio
64e06fa57a Merge branch '0.9.3' into 0.9.4 2012-01-24 12:07:52 +00:00
Christophe Riccio
b19f609f51 Merge branch '0.9.3' into 0.9.4 2012-01-11 20:38:04 +00:00
Christophe Riccio
fe755d37ec Fixed ticket #163, missing inlines 2012-01-11 17:14:03 +00:00
Christophe Riccio
9a394874c3 Promote and deprecate extensions 2012-01-10 20:43:20 +00:00
Christophe Riccio
c26057d07b Merge branch '0.9.3' into 0.9.4 2012-01-10 10:40:00 +00:00
Christophe Riccio
6493ae6784 Updated version 2011-12-12 14:53:45 +00:00
Christophe Riccio
ee00387d2d Promoted the ULP extension 2011-12-12 14:53:30 +00:00
2650 changed files with 383856 additions and 112165 deletions

92
.appveyor.yml Normal file
View File

@ -0,0 +1,92 @@
shallow_clone: true
platform:
- x86
- x64
configuration:
- Debug
- Release
image:
- Visual Studio 2013
- Visual Studio 2015
- Visual Studio 2017
- Visual Studio 2019
environment:
matrix:
- GLM_ARGUMENTS: -DGLM_TEST_FORCE_PURE=ON
- GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
- GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
- GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_14=ON
- GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_17=ON
matrix:
exclude:
- image: Visual Studio 2013
GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
- image: Visual Studio 2013
GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_14=ON
- image: Visual Studio 2013
GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_17=ON
- image: Visual Studio 2013
configuration: Debug
- image: Visual Studio 2015
GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
- image: Visual Studio 2015
GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_14=ON
- image: Visual Studio 2015
GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_17=ON
- image: Visual Studio 2015
platform: x86
- image: Visual Studio 2015
configuration: Debug
- image: Visual Studio 2017
platform: x86
- image: Visual Studio 2017
configuration: Debug
- image: Visual Studio 2019
platform: x64
branches:
only:
- master
before_build:
- ps: |
mkdir build
cd build
if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2013") {
$env:generator="Visual Studio 12 2013"
}
if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2015") {
$env:generator="Visual Studio 14 2015"
}
if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2017") {
$env:generator="Visual Studio 15 2017"
}
if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2019") {
$env:generator="Visual Studio 16 2019"
}
if ($env:PLATFORM -eq "x64") {
$env:generator="$env:generator Win64"
}
echo generator="$env:generator"
cmake .. -G "$env:generator" -DCMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER/install" -DGLM_QUIET=ON -DGLM_TEST_ENABLE=ON "$env:GLM_ARGUMENTS"
build_script:
- cmake --build . --parallel --config %CONFIGURATION% -- /m /v:minimal
- cmake --build . --target install --parallel --config %CONFIGURATION% -- /m /v:minimal
test_script:
- ctest --parallel 4 --verbose -C %CONFIGURATION%
- cd ..
- ps: |
mkdir build_test_cmake
cd build_test_cmake
cmake ..\test\cmake\ -G "$env:generator" -DCMAKE_PREFIX_PATH="$env:APPVEYOR_BUILD_FOLDER/install"
- cmake --build . --parallel --config %CONFIGURATION% -- /m /v:minimal
deploy: off

245
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,245 @@
name: ci
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on:
push:
workflow_dispatch:
jobs:
windows:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, windows-2019]
toolkit: [v143, v142, v141, v140]
std: [98, 11, 14, 17, 20]
config: [Debug, Release]
exclude:
- os: windows-2019
toolkit: v143
- os: windows-2019
toolkit: v142
- os: windows-latest
toolkit: v140
- os: windows-latest
toolkit: v141
- os: windows-2019
std: 20
- os: windows-2019
toolkit: v140
std: 17
- os: windows-2019
toolkit: v140
std: 14
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- name: CMake Version
run: cmake --version
- name: Run with automagic detection
run: |
cmake -S. -B ./build_auto -T ${{matrix.toolkit}}
cmake --build ./build_auto --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
- name: Run with GLM_FORCE_PURE
run: |
cmake -S. -B ./build_pure_std -T ${{matrix.toolkit}} -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_pure_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
- name: Run with GLM_FORCE_PURE and language extensions
run: |
cmake -S. -B ./build_pure_ext -T ${{matrix.toolkit}} -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_pure_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
- name: Run with GLM_ENABLE_SIMD_SSE2
run: |
cmake -S. -B ./build_sse2_std -T ${{matrix.toolkit}} -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_sse2_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
- name: Run with GLM_ENABLE_SIMD_SSE2 and language extensions
run: |
cmake -S. -B ./build_sse2_ext -T ${{matrix.toolkit}} -DGLM_ENABLE_SIMD_SSE2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_sse2_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
- name: Run with GLM_ENABLE_SIMD_AVX
run: |
cmake -S. -B ./build_avx1_std -T ${{matrix.toolkit}} -DGLM_ENABLE_SIMD_AVX=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_avx1_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
- name: Run with GLM_ENABLE_SIMD_AVX and language extensions
run: |
cmake -S. -B ./build_avx1_ext -T ${{matrix.toolkit}} -DGLM_ENABLE_SIMD_AVX=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_avx1_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext
- name: Run with GLM_ENABLE_SIMD_AVX2
run: |
cmake -S. -B ./build_avx2_std -T ${{matrix.toolkit}} -DGLM_ENABLE_SIMD_AVX2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_avx2_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_std
- name: Run with GLM_ENABLE_SIMD_AVX2 and language extensions
run: |
cmake -S. -B ./build_avx2_ext -T ${{matrix.toolkit}} -DGLM_ENABLE_SIMD_AVX2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_avx2_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_ext
ubuntu:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-20.04]
std: [98, 11, 14, 17, 20]
config: [Debug, Release]
exclude:
- os: ubuntu-20.04
std: 20
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- name: CMake Version
run: cmake --version
- name: Run with automagic detection
run: |
cmake -S. -B ./build_auto
cmake --build ./build_auto --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
- name: Run with GLM_FORCE_PURE
run: |
cmake -S. -B ./build_pure_std -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_pure_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
- name: Run with GLM_FORCE_PURE and language extensions
run: |
cmake -S. -B ./build_pure_ext -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_pure_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
- name: Run with GLM_ENABLE_SIMD_SSE2
run: |
cmake -S. -B ./build_sse2_std -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_sse2_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
- name: Run with GLM_ENABLE_SIMD_SSE2 and language extensions
run: |
cmake -S. -B ./build_sse2_ext -DGLM_ENABLE_SIMD_SSE2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_sse2_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
- name: Run with GLM_ENABLE_SIMD_AVX
run: |
cmake -S. -B ./build_avx1_std -DGLM_ENABLE_SIMD_AVX=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_avx1_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
- name: Run with GLM_ENABLE_SIMD_AVX and language extensions
run: |
cmake -S. -B ./build_avx1_ext -DGLM_ENABLE_SIMD_AVX=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_avx1_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext
- name: Run with GLM_ENABLE_SIMD_AVX2
run: |
cmake -S. -B ./build_avx2_std -DGLM_ENABLE_SIMD_AVX2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_avx2_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_std
- name: Run with GLM_ENABLE_SIMD_AVX2 and language extensions
run: |
cmake -S. -B ./build_avx2_ext -DGLM_ENABLE_SIMD_AVX2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_avx2_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_ext
macos:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, macos-11]
std: [98, 11, 14, 17, 20]
config: [Debug, Release]
exclude:
- os: macos-11
std: 20
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- name: CMake Version
run: cmake --version
- name: Run with automagic detection
run: |
cmake -S. -B ./build_auto
cmake --build ./build_auto --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
- name: Run with GLM_FORCE_PURE
run: |
cmake -S. -B ./build_pure_std -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_pure_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
- name: Run with GLM_FORCE_PURE and language extensions
run: |
cmake -S. -B ./build_pure_ext -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_pure_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
- name: Run with GLM_ENABLE_SIMD_SSE2
run: |
cmake -S. -B ./build_sse2_std -DGLM_FORCE_PURE=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_sse2_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
- name: Run with GLM_ENABLE_SIMD_SSE2 and language extensions
run: |
cmake -S. -B ./build_sse2_ext -DGLM_ENABLE_SIMD_SSE2=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_sse2_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
- name: Run with GLM_ENABLE_SIMD_AVX
run: |
cmake -S. -B ./build_avx1_std -DGLM_ENABLE_SIMD_AVX=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON
cmake --build ./build_avx1_std --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
- name: Run with GLM_ENABLE_SIMD_AVX and language extensions
run: |
cmake -S. -B ./build_avx1_ext -DGLM_ENABLE_SIMD_AVX=ON -DGLM_ENABLE_CXX_${{matrix.std}}=ON -DGLM_ENABLE_LANG_EXTENSIONS=ON
cmake --build ./build_avx1_ext --config ${{matrix.config}}
ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext

View File

@ -0,0 +1,42 @@
# A workflow that creates a minimal archive with only the glm/ headers and copying.txt.
name: Make light release
on:
release:
types: [published]
jobs:
make_zip:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: sudo apt-get update -y && sudo apt-get install -y zip p7zip
- name: Check out repository code
uses: actions/checkout@v3
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Prepare layout
run: mv copying.txt glm
- name: Create zip archive
run: zip -r glm-${{ env.RELEASE_VERSION }}-light.zip glm
- name: Create 7z archive
run: 7z a glm-${{ env.RELEASE_VERSION }}-light.7z glm
- uses: actions/upload-artifact@v3
with:
name: glm-${{ env.RELEASE_VERSION }}-light
path: glm-${{ env.RELEASE_VERSION }}-light.*
- name: Add to Release
uses: softprops/action-gh-release@v1
with:
files: |
glm-${{ env.RELEASE_VERSION }}-light.zip
glm-${{ env.RELEASE_VERSION }}-light.7z

61
.gitignore vendored Normal file
View File

@ -0,0 +1,61 @@
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# CMake
CMakeCache.txt
CMakeFiles
cmake_install.cmake
install_manifest.txt
*.cmake
!glmConfig.cmake
!glmConfig-version.cmake
# ^ May need to add future .cmake files as exceptions
# Test logs
Testing/*
# Test input
test/gtc/*.dds
# Project Files
Makefile
*.cbp
*.user
# Misc.
*.log
# local build(s)
build*
/.vs
/.vscode
/CMakeSettings.json
.DS_Store
*.swp

388
.travis.yml Normal file
View File

@ -0,0 +1,388 @@
language: cpp
branches:
only:
- master
- stable
jobs:
include:
- name: "Xcode 7.3 C++98 pure release"
os: osx
osx_image: xcode7.3
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON"
- name: "Xcode 7.3 C++98 sse2 release"
os: osx
osx_image: xcode7.3
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON"
- name: "Xcode 7.3 C++98 ms release"
os: osx
osx_image: xcode7.3
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON"
- name: "XCode 7.3 C++11 pure release"
os: osx
osx_image: xcode7.3
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON"
- name: "XCode 7.3 C++11 sse2 release"
os: osx
osx_image: xcode7.3
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON"
- name: "XCode 10.3 C++11 sse2 release"
os: osx
osx_image: xcode10.3
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON"
- name: "XCode 12.2 C++11 sse2 release"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++11 sse2 debug"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++11 avx debug"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++14 avx debug"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++14 pure debug"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++17 pure debug"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++17 sse2 debug"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++17 sse2 release"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "XCode 12.2 C++17 avx release"
os: osx
osx_image: xcode12.2
env:
- MATRIX_EVAL=""
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 4.9 C++98 pure release"
os: linux
dist: Xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 4.9 C++98 pure debug"
os: linux
dist: Xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 4.9 C++98 ms debug"
os: linux
dist: Xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 4.9 C++11 ms debug"
os: linux
dist: Xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 4.9 C++11 pure debug"
os: linux
dist: Xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 6 C++14 pure debug"
os: linux
dist: bionic
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 6 C++14 ms debug"
os: linux
dist: bionic
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 7 C++17 ms debug"
os: linux
dist: bionic
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 7 C++17 pure debug"
os: linux
dist: bionic
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 10 C++17 pure debug"
os: linux
dist: bionic
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-10
env:
- MATRIX_EVAL="CC=gcc-10 && CXX=g++-10"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "GCC 10 C++17 pure release"
os: linux
dist: bionic
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-10
env:
- MATRIX_EVAL="CC=gcc-10 && CXX=g++-10"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++14 pure release"
os: linux
dist: Xenial
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++14 pure debug"
os: linux
dist: Xenial
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++14 sse2 debug"
os: linux
dist: Xenial
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++14 sse2 debug"
os: linux
dist: focal
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++17 sse2 debug"
os: linux
dist: focal
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++17 avx2 debug"
os: linux
dist: focal
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX2=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++17 pure debug"
os: linux
dist: focal
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
- name: "Clang C++17 pure release"
os: linux
dist: focal
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON"
- CTEST_ENV="--parallel 4 --output-on-failure"
- CMAKE_ENV="--parallel"
before_script:
- cmake --version
- eval "${MATRIX_EVAL}"
script:
- ${CC} --version
- mkdir ./build
- cd ./build
- cmake -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/install -DCMAKE_CXX_COMPILER=$COMPILER ${CMAKE_BUILD_ENV} ..
- cmake --build . ${CMAKE_ENV}
- ctest ${CTEST_ENV}
- cmake --build . --target install ${CMAKE_ENV}
- cd $TRAVIS_BUILD_DIR
- mkdir ./build_test_cmake
- cd ./build_test_cmake
- cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -DCMAKE_PREFIX_PATH=$TRAVIS_BUILD_DIR/install
- cmake --build .

View File

@ -1,40 +1,290 @@
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
cmake_policy(VERSION 2.6)
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
cmake_policy(VERSION 3.6)
project(glm)
enable_testing()
file(READ "glm/detail/setup.hpp" GLM_SETUP_FILE)
string(REGEX MATCH "#define[ ]+GLM_VERSION_MAJOR[ ]+([0-9]+)" _ ${GLM_SETUP_FILE})
set(GLM_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define[ ]+GLM_VERSION_MINOR[ ]+([0-9]+)" _ ${GLM_SETUP_FILE})
set(GLM_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define[ ]+GLM_VERSION_PATCH[ ]+([0-9]+)" _ ${GLM_SETUP_FILE})
set(GLM_VERSION_PATCH "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define[ ]+GLM_VERSION_REVISION[ ]+([0-9]+)" _ ${GLM_SETUP_FILE})
set(GLM_VERSION_REVISION "${CMAKE_MATCH_1}")
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
set(GLM_VERSION ${GLM_VERSION_MAJOR}.${GLM_VERSION_MINOR}.${GLM_VERSION_PATCH})
project(glm VERSION ${GLM_VERSION} LANGUAGES CXX)
message(STATUS "GLM: Version " ${GLM_VERSION})
if(CMAKE_COMPILER_IS_GNUCXX)
#add_definitions(/Za)
#add_definitions(-pedantic)
#add_definitions(-S)
#add_definitions(-s)
#add_definitions(-msse2)
#add_definitions(-std=c++0x)
#add_definitions(-fms-extensions)
#add_definitions(-D_MSC_EXTENSIONS)
#add_definitions(-m32)
#add_definitions(-mfpmath=387)
#add_definitions(-ffast-math)
#add_definitions(-O3)
#add_definitions(-fprofile-arcs -ftest-coverage) gcov
#ctest_enable_coverage()
set(GLM_IS_MASTER_PROJECT OFF)
if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
set(GLM_IS_MASTER_PROJECT ON)
endif()
include_directories(".")
include_directories("./test/external")
option(GLM_BUILD_LIBRARY "Build dynamic/static library" ON)
option(GLM_BUILD_TESTS "Build the test programs" ${GLM_IS_MASTER_PROJECT})
option(GLM_BUILD_INSTALL "Generate the install target" ${GLM_IS_MASTER_PROJECT})
include(GNUInstallDirs)
option(GLM_ENABLE_CXX_98 "Enable C++ 98" OFF)
option(GLM_ENABLE_CXX_11 "Enable C++ 11" OFF)
option(GLM_ENABLE_CXX_14 "Enable C++ 14" OFF)
option(GLM_ENABLE_CXX_17 "Enable C++ 17" OFF)
option(GLM_ENABLE_CXX_20 "Enable C++ 20" OFF)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(GLM_ENABLE_CXX_20)
set(CMAKE_CXX_STANDARD 20)
add_definitions(-DGLM_FORCE_CXX20)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
message(STATUS "GLM: Disable -Wc++98-compat warnings")
add_compile_options(-Wno-c++98-compat)
add_compile_options(-Wno-c++98-compat-pedantic)
endif()
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with C++20 features")
endif()
elseif(GLM_ENABLE_CXX_17)
set(CMAKE_CXX_STANDARD 17)
add_definitions(-DGLM_FORCE_CXX17)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
message(STATUS "GLM: Disable -Wc++98-compat warnings")
add_compile_options(-Wno-c++98-compat)
add_compile_options(-Wno-c++98-compat-pedantic)
endif()
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with C++17 features")
endif()
elseif(GLM_ENABLE_CXX_14)
set(CMAKE_CXX_STANDARD 14)
add_definitions(-DGLM_FORCE_CXX14)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
message(STATUS "GLM: Disable -Wc++98-compat warnings")
add_compile_options(-Wno-c++98-compat)
add_compile_options(-Wno-c++98-compat-pedantic)
endif()
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with C++14 features")
endif()
elseif(GLM_ENABLE_CXX_11)
set(CMAKE_CXX_STANDARD 11)
add_definitions(-DGLM_FORCE_CXX11)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
message(STATUS "GLM: Disable -Wc++98-compat warnings")
add_compile_options(-Wno-c++98-compat)
add_compile_options(-Wno-c++98-compat-pedantic)
endif()
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with C++11 features")
endif()
elseif(GLM_ENABLE_CXX_98)
set(CMAKE_CXX_STANDARD 98)
add_definitions(-DGLM_FORCE_CXX98)
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with C++98 features")
endif()
else()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
message(STATUS "GLM: Disable -Wc++98-compat warnings")
add_compile_options(-Wno-c++98-compat)
add_compile_options(-Wno-c++98-compat-pedantic)
endif()
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with C++ features auto detection")
endif()
endif()
option(GLM_ENABLE_LANG_EXTENSIONS "Enable language extensions" OFF)
option(GLM_DISABLE_AUTO_DETECTION "Disable platform, compiler, arch and C++ language detection" OFF)
if(GLM_DISABLE_AUTO_DETECTION)
add_definitions(-DGLM_FORCE_PLATFORM_UNKNOWN -DGLM_FORCE_COMPILER_UNKNOWN -DGLM_FORCE_ARCH_UNKNOWN -DGLM_FORCE_CXX_UNKNOWN)
endif()
if(GLM_ENABLE_LANG_EXTENSIONS)
set(CMAKE_CXX_EXTENSIONS ON)
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "GNU"))
add_compile_options(-fms-extensions)
endif()
message(STATUS "GLM: Build with C++ language extensions")
else()
set(CMAKE_CXX_EXTENSIONS OFF)
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_options(/Za)
if(MSVC15)
add_compile_options(/permissive-)
endif()
endif()
endif()
option(GLM_ENABLE_FAST_MATH "Enable fast math optimizations" OFF)
if(GLM_ENABLE_FAST_MATH)
if(NOT GLM_QUIET)
message(STATUS "GLM: Build with fast math optimizations")
endif()
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "GNU"))
add_compile_options(-ffast-math)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_options(/fp:fast)
endif()
else()
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_options(/fp:precise)
endif()
endif()
option(GLM_ENABLE_SIMD_SSE2 "Enable SSE2 optimizations" OFF)
option(GLM_ENABLE_SIMD_SSE3 "Enable SSE3 optimizations" OFF)
option(GLM_ENABLE_SIMD_SSSE3 "Enable SSSE3 optimizations" OFF)
option(GLM_ENABLE_SIMD_SSE4_1 "Enable SSE 4.1 optimizations" OFF)
option(GLM_ENABLE_SIMD_SSE4_2 "Enable SSE 4.2 optimizations" OFF)
option(GLM_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
option(GLM_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
option(GLM_FORCE_PURE "Force 'pure' instructions" OFF)
if(GLM_FORCE_PURE)
add_definitions(-DGLM_FORCE_PURE)
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
add_compile_options(-mfpmath=387)
endif()
message(STATUS "GLM: No SIMD instruction set")
elseif(GLM_ENABLE_SIMD_AVX2)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-mavx2)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxAVX2)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_options(/arch:AVX2)
endif()
message(STATUS "GLM: AVX2 instruction set")
elseif(GLM_ENABLE_SIMD_AVX)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-mavx)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxAVX)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_options(/arch:AVX)
endif()
message(STATUS "GLM: AVX instruction set")
elseif(GLM_ENABLE_SIMD_SSE4_2)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-msse4.2)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxSSE4.2)
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
add_compile_options(/arch:SSE2) # VC doesn't support SSE4.2
endif()
message(STATUS "GLM: SSE4.2 instruction set")
elseif(GLM_ENABLE_SIMD_SSE4_1)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-msse4.1)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxSSE4.1)
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
add_compile_options(/arch:SSE2) # VC doesn't support SSE4.1
endif()
message(STATUS "GLM: SSE4.1 instruction set")
elseif(GLM_ENABLE_SIMD_SSSE3)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-mssse3)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxSSSE3)
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
add_compile_options(/arch:SSE2) # VC doesn't support SSSE3
endif()
message(STATUS "GLM: SSSE3 instruction set")
elseif(GLM_ENABLE_SIMD_SSE3)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-msse3)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxSSE3)
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
add_compile_options(/arch:SSE2) # VC doesn't support SSE3
endif()
message(STATUS "GLM: SSE3 instruction set")
elseif(GLM_ENABLE_SIMD_SSE2)
add_definitions(-DGLM_FORCE_INTRINSICS)
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
add_compile_options(-msse2)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_compile_options(/QxSSE2)
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
add_compile_options(/arch:SSE2)
endif()
message(STATUS "GLM: SSE2 instruction set")
endif()
add_subdirectory(glm)
add_subdirectory(test)
add_subdirectory(bench)
add_subdirectory(doc)
option(GLM_TEST_MODE "GLM test" OFF)
if(NOT GLM_TEST_MODE)
message(FATAL_ERROR "GLM is a header only library, no need to build it. Set the option GLM_TEST_MODE with ON to build and run the test bench")
if (GLM_BUILD_TESTS)
include(CTest)
add_subdirectory(test)
endif()
install(DIRECTORY glm DESTINATION include)
if (GLM_BUILD_INSTALL)
include(CPack)
install(TARGETS glm-header-only glm EXPORT glm)
install(
DIRECTORY glm
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
PATTERN "CMakeLists.txt" EXCLUDE
)
install(
EXPORT glm
NAMESPACE glm::
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glm"
FILE glmConfig.cmake
)
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glm"
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY
)
add_custom_target(
uninstall
"${CMAKE_COMMAND}" -P
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
)
endif()

View File

@ -1,13 +0,0 @@
## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
## # The following are required to uses Dart and the Cdash dashboard
## ENABLE_TESTING()
## INCLUDE(CTest)
set(CTEST_PROJECT_NAME "GLM")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=GLM")
set(CTEST_DROP_SITE_CDASH TRUE)

View File

@ -1,11 +0,0 @@
function(glmCreateBenchGTC NAME)
set(SAMPLE_NAME bench-${NAME})
add_executable(${SAMPLE_NAME} ${NAME}.cpp)
endfunction(glmCreateBenchGTC)
add_subdirectory(core)
add_subdirectory(gtc)
add_subdirectory(gtx)

View File

@ -0,0 +1,21 @@
if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
endif()
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
string(REGEX REPLACE "\n" ";" files "${files}")
foreach(file ${files})
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
exec_program(
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
if(NOT "${rm_retval}" STREQUAL 0)
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
endif()
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
endif()
endforeach()

View File

@ -1,6 +1,39 @@
The MIT License
================================================================================
OpenGL Mathematics (GLM)
--------------------------------------------------------------------------------
GLM is licensed under The Happy Bunny License or MIT License
Copyright (c) 2005 - 2012 G-Truc Creation
================================================================================
The Happy Bunny License (Modified MIT License)
--------------------------------------------------------------------------------
Copyright (c) 2005 - G-Truc Creation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
Restrictions:
By making use of the Software for military purposes, you choose to make a
Bunny unhappy.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================================================
The MIT License
--------------------------------------------------------------------------------
Copyright (c) 2005 - G-Truc Creation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,12 +0,0 @@
set(NAME glm-doc)
file(GLOB ROOT_TXT *.doxy ../*.txt ./theme/*.css)
file(GLOB ROOT_CPP src/*.cpp)
file(GLOB ROOT_XML src/*.xml)
file(GLOB ROOT_XSL src/*.xsl)
source_group("TXT Files" FILES ${ROOT_TXT})
source_group("XML Files" FILES ${ROOT_XML})
source_group("XSL Files" FILES ${ROOT_XSL})
add_executable(${NAME} ${ROOT_CPP} ${ROOT_XML} ${ROOT_XSL} ${ROOT_TXT})

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics: About</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /><script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-20182250-1']);
_gaq.push(['_setDomainName', '.g-truc.net']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.1/glm-0.9.3.1.zip/download">
Download GLM 0.9.3.1</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm.pdf">GLM Manual</a></div><div class="menu2"><a href="./api/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&amp;Board=10&amp;page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM)<br />A C++ mathematics library for graphics programming<br /></div><br /><br /><div><div class="title-date"> </div><div class="title4"> </div><div><p>
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software
based on the <a href="http://www.opengl.org/documentation/glsl/">OpenGL Shading Language (GLSL)</a> specification.
</p><p>
GLM provides classes and functions designed and implemented with the same naming conventions
and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well
which makes it really easy to use.
</p><p>
This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions,
provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers,
procedural noise functions, etc...
</p><p>
This library works perfectly with OpenGL but it also ensures interoperability with third party libraries and SDKs.
It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.
</p><p>
The source code is licenced under the <a href="./copying.txt">MIT license</a>.
</p><p>
Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets</a> for bug reports and feature requests. (SF.net account required).
Any feedback is welcome at glm@g-truc.net.
</p><div xmlns="http://www.w3.org/1999/xhtml"><span class="list">GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and officially supports the following compilers:</span><ul><li><a xmlns="" href="http://clang.llvm.org">Clang</a> 2.6 and higher</li><li><a xmlns="" href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA</a> 3.0 and higher
</li><li><a xmlns="" href="http://gcc.gnu.org/">GCC</a> 3.4 and higher</li><li><a xmlns="" href="http://llvm.org/">LLVM</a> 2.3 through GCC 4.2 front-end and higher</li><li><a xmlns="" href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</a> 2005 and higher</li><li>Any conform C++98 or C++11 compiler</li></ul></div></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">Copyright © 2005 - 2012<a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

View File

@ -1,69 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Differences between GLSL and GLM core</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Differences between GLSL and GLM core </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>GLM comes very close to replicating GLSL, but it is not exact. Here is a list of differences between GLM and GLSL:</p>
<ul>
<li>
<p class="startli">Precision qualifiers. In GLSL numeric types can have qualifiers that define the precision of that type. While OpenGL's GLSL ignores these qualifiers, OpenGL ES's version of GLSL uses them.</p>
<p>C++ has no language equivalent to precision qualifiers. Instead, GLM provides a set of typedefs for each kind of precision qualifier and type. These types can be found in <a class="el" href="a00139.html">their own section</a>.</p>
<p class="endli">Functions that take types tend to be templated on those types, so they can take these qualified types just as well as the regular ones. </p>
</li>
</ul>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>half Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>glm</b> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00002.html">half</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">half Class Reference<div class="ingroups"><a class="el" href="a00141.html">GLM_GTC_half_float: Half-precision floating-point based types and functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="glm::detail::half" -->
<p><a href="a00215.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>16-bit floating point type. </p>
<p>Definition at line <a class="el" href="a00094_source.html#l00044">44</a> of file <a class="el" href="a00094_source.html">type_half.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_detail.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_detail.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00003_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-07-24 / 2011-06-14 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00003_source.html">_detail.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,525 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_detail.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_detail.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00003.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_core_detail</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_detail</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="a00082.html" title="OpenGL Mathematics (glm.g-truc.net)">setup.hpp</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;cassert&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#if(defined(__STDC_VERSION__) &amp;&amp; (__STDC_VERSION__ &gt;= 199901L))</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cstdint&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="keyword">namespace </span>glm{
<a name="l00039"></a>00039 <span class="keyword">namespace </span>detail
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <span class="keyword">class </span>half;
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#if(defined(__STDC_VERSION__) &amp;&amp; (__STDC_VERSION__ &gt;= 199901L)) // C99 detected, 64 bit types available</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span> <span class="keyword">typedef</span> int64_t sint64;
<a name="l00045"></a>00045 <span class="keyword">typedef</span> uint64_t uint64;
<a name="l00046"></a>00046 <span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> __int64 sint64;
<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 uint64;
<a name="l00049"></a>00049 <span class="preprocessor">#elif(GLM_COMPILER &amp; (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span> __extension__ <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> sint64;
<a name="l00051"></a>00051 __extension__ <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> uint64;
<a name="l00052"></a>00052 <span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_BC)</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span> <span class="keyword">typedef</span> Int64 sint64;
<a name="l00054"></a>00054 <span class="keyword">typedef</span> Uint64 uint64;
<a name="l00055"></a>00055 <span class="preprocessor">#else//unknown compiler</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> sint64;
<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> uint64;
<a name="l00058"></a>00058 <span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span>
<a name="l00060"></a>00060 <span class="keyword">template</span>&lt;<span class="keywordtype">bool</span> C&gt;
<a name="l00061"></a>00061 <span class="keyword">struct </span>If
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> T&gt;
<a name="l00064"></a>00064 <span class="keyword">static</span> GLM_FUNC_QUALIFIER T apply(F functor, <span class="keyword">const</span> T&amp; val)
<a name="l00065"></a>00065 {
<a name="l00066"></a>00066 <span class="keywordflow">return</span> functor(val);
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="keyword">template</span>&lt;&gt;
<a name="l00071"></a>00071 <span class="keyword">struct </span>If&lt;false&gt;
<a name="l00072"></a>00072 {
<a name="l00073"></a>00073 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> T&gt;
<a name="l00074"></a>00074 <span class="keyword">static</span> GLM_FUNC_QUALIFIER T apply(F, <span class="keyword">const</span> T&amp; val)
<a name="l00075"></a>00075 {
<a name="l00076"></a>00076 <span class="keywordflow">return</span> val;
<a name="l00077"></a>00077 }
<a name="l00078"></a>00078 };
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="comment">//template &lt;typename T&gt;</span>
<a name="l00081"></a>00081 <span class="comment">//struct traits</span>
<a name="l00082"></a>00082 <span class="comment">//{</span>
<a name="l00083"></a>00083 <span class="comment">// static const bool is_signed = false;</span>
<a name="l00084"></a>00084 <span class="comment">// static const bool is_float = false;</span>
<a name="l00085"></a>00085 <span class="comment">// static const bool is_vector = false;</span>
<a name="l00086"></a>00086 <span class="comment">// static const bool is_matrix = false;</span>
<a name="l00087"></a>00087 <span class="comment">// static const bool is_genType = false;</span>
<a name="l00088"></a>00088 <span class="comment">// static const bool is_genIType = false;</span>
<a name="l00089"></a>00089 <span class="comment">// static const bool is_genUType = false;</span>
<a name="l00090"></a>00090 <span class="comment">//};</span>
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="comment">//template &lt;&gt;</span>
<a name="l00093"></a>00093 <span class="comment">//struct traits&lt;half&gt;</span>
<a name="l00094"></a>00094 <span class="comment">//{</span>
<a name="l00095"></a>00095 <span class="comment">// static const bool is_float = true;</span>
<a name="l00096"></a>00096 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00097"></a>00097 <span class="comment">//};</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="comment">//template &lt;&gt;</span>
<a name="l00100"></a>00100 <span class="comment">//struct traits&lt;float&gt;</span>
<a name="l00101"></a>00101 <span class="comment">//{</span>
<a name="l00102"></a>00102 <span class="comment">// static const bool is_float = true;</span>
<a name="l00103"></a>00103 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00104"></a>00104 <span class="comment">//};</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="comment">//template &lt;&gt;</span>
<a name="l00107"></a>00107 <span class="comment">//struct traits&lt;double&gt;</span>
<a name="l00108"></a>00108 <span class="comment">//{</span>
<a name="l00109"></a>00109 <span class="comment">// static const bool is_float = true;</span>
<a name="l00110"></a>00110 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00111"></a>00111 <span class="comment">//};</span>
<a name="l00112"></a>00112
<a name="l00113"></a>00113 <span class="comment">//template &lt;typename genType&gt;</span>
<a name="l00114"></a>00114 <span class="comment">//struct desc</span>
<a name="l00115"></a>00115 <span class="comment">//{</span>
<a name="l00116"></a>00116 <span class="comment">// typedef genType type;</span>
<a name="l00117"></a>00117 <span class="comment">// typedef genType * pointer;</span>
<a name="l00118"></a>00118 <span class="comment">// typedef genType const* const_pointer;</span>
<a name="l00119"></a>00119 <span class="comment">// typedef genType const *const const_pointer_const;</span>
<a name="l00120"></a>00120 <span class="comment">// typedef genType *const pointer_const;</span>
<a name="l00121"></a>00121 <span class="comment">// typedef genType &amp; reference;</span>
<a name="l00122"></a>00122 <span class="comment">// typedef genType const&amp; const_reference;</span>
<a name="l00123"></a>00123 <span class="comment">// typedef genType const&amp; param_type;</span>
<a name="l00124"></a>00124
<a name="l00125"></a>00125 <span class="comment">// typedef typename genType::value_type value_type;</span>
<a name="l00126"></a>00126 <span class="comment">// typedef typename genType::size_type size_type;</span>
<a name="l00127"></a>00127 <span class="comment">// static const typename size_type value_size;</span>
<a name="l00128"></a>00128 <span class="comment">//};</span>
<a name="l00129"></a>00129
<a name="l00130"></a>00130 <span class="comment">//template &lt;typename genType&gt;</span>
<a name="l00131"></a>00131 <span class="comment">//const typename desc&lt;genType&gt;::size_type desc&lt;genType&gt;::value_size = genType::value_size();</span>
<a name="l00132"></a>00132
<a name="l00133"></a>00133 <span class="keyword">union </span>uif32
<a name="l00134"></a>00134 {
<a name="l00135"></a>00135 GLM_FUNC_QUALIFIER uif32() :
<a name="l00136"></a>00136 i(0)
<a name="l00137"></a>00137 {}
<a name="l00138"></a>00138
<a name="l00139"></a>00139 GLM_FUNC_QUALIFIER uif32(<span class="keywordtype">float</span> f) :
<a name="l00140"></a>00140 f(f)
<a name="l00141"></a>00141 {}
<a name="l00142"></a>00142
<a name="l00143"></a>00143 GLM_FUNC_QUALIFIER uif32(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i) :
<a name="l00144"></a>00144 i(i)
<a name="l00145"></a>00145 {}
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="keywordtype">float</span> f;
<a name="l00148"></a>00148 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
<a name="l00149"></a>00149 };
<a name="l00150"></a>00150
<a name="l00151"></a>00151 <span class="keyword">union </span>uif64
<a name="l00152"></a>00152 {
<a name="l00153"></a>00153 GLM_FUNC_QUALIFIER uif64() :
<a name="l00154"></a>00154 i(0)
<a name="l00155"></a>00155 {}
<a name="l00156"></a>00156
<a name="l00157"></a>00157 GLM_FUNC_QUALIFIER uif64(<span class="keywordtype">double</span> f) :
<a name="l00158"></a>00158 f(f)
<a name="l00159"></a>00159 {}
<a name="l00160"></a>00160
<a name="l00161"></a>00161 GLM_FUNC_QUALIFIER uif64(uint64 i) :
<a name="l00162"></a>00162 i(i)
<a name="l00163"></a>00163 {}
<a name="l00164"></a>00164
<a name="l00165"></a>00165 <span class="keywordtype">double</span> f;
<a name="l00166"></a>00166 uint64 i;
<a name="l00167"></a>00167 };
<a name="l00168"></a>00168
<a name="l00169"></a>00169 <span class="keyword">typedef</span> uif32 uif;
<a name="l00170"></a>00170
<a name="l00172"></a>00172 <span class="comment">// int</span>
<a name="l00173"></a>00173
<a name="l00174"></a>00174 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00175"></a>00175 <span class="keyword">struct </span>is_int
<a name="l00176"></a>00176 {
<a name="l00177"></a>00177 <span class="keyword">enum</span> is_int_enum
<a name="l00178"></a>00178 {
<a name="l00179"></a>00179 _YES = 0,
<a name="l00180"></a>00180 _NO = 1
<a name="l00181"></a>00181 };
<a name="l00182"></a>00182 };
<a name="l00183"></a>00183
<a name="l00184"></a>00184 <span class="preprocessor">#define GLM_DETAIL_IS_INT(T) \</span>
<a name="l00185"></a>00185 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00186"></a>00186 <span class="preprocessor"> struct is_int&lt;T&gt; \</span>
<a name="l00187"></a>00187 <span class="preprocessor"> { \</span>
<a name="l00188"></a>00188 <span class="preprocessor"> enum is_int_enum \</span>
<a name="l00189"></a>00189 <span class="preprocessor"> { \</span>
<a name="l00190"></a>00190 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00191"></a>00191 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00192"></a>00192 <span class="preprocessor"> }; \</span>
<a name="l00193"></a>00193 <span class="preprocessor"> }</span>
<a name="l00194"></a>00194 <span class="preprocessor"></span>
<a name="l00196"></a>00196 <span class="comment">// uint</span>
<a name="l00197"></a>00197
<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00199"></a>00199 <span class="keyword">struct </span>is_uint
<a name="l00200"></a>00200 {
<a name="l00201"></a>00201 <span class="keyword">enum</span> is_uint_enum
<a name="l00202"></a>00202 {
<a name="l00203"></a>00203 _YES = 0,
<a name="l00204"></a>00204 _NO = 1
<a name="l00205"></a>00205 };
<a name="l00206"></a>00206 };
<a name="l00207"></a>00207
<a name="l00208"></a>00208 <span class="preprocessor">#define GLM_DETAIL_IS_UINT(T) \</span>
<a name="l00209"></a>00209 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00210"></a>00210 <span class="preprocessor"> struct is_uint&lt;T&gt; \</span>
<a name="l00211"></a>00211 <span class="preprocessor"> { \</span>
<a name="l00212"></a>00212 <span class="preprocessor"> enum is_uint_enum \</span>
<a name="l00213"></a>00213 <span class="preprocessor"> { \</span>
<a name="l00214"></a>00214 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00215"></a>00215 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00216"></a>00216 <span class="preprocessor"> }; \</span>
<a name="l00217"></a>00217 <span class="preprocessor"> }</span>
<a name="l00218"></a>00218 <span class="preprocessor"></span>
<a name="l00219"></a>00219 <span class="comment">//GLM_DETAIL_IS_UINT(unsigned long long)</span>
<a name="l00220"></a>00220
<a name="l00222"></a>00222 <span class="comment">// float</span>
<a name="l00223"></a>00223
<a name="l00224"></a>00224 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00225"></a>00225 <span class="keyword">struct </span>is_float
<a name="l00226"></a>00226 {
<a name="l00227"></a>00227 <span class="keyword">enum</span> is_float_enum
<a name="l00228"></a>00228 {
<a name="l00229"></a>00229 _YES = 0,
<a name="l00230"></a>00230 _NO = 1
<a name="l00231"></a>00231 };
<a name="l00232"></a>00232 };
<a name="l00233"></a>00233
<a name="l00234"></a>00234 <span class="preprocessor">#define GLM_DETAIL_IS_FLOAT(T) \</span>
<a name="l00235"></a>00235 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00236"></a>00236 <span class="preprocessor"> struct is_float&lt;T&gt; \</span>
<a name="l00237"></a>00237 <span class="preprocessor"> { \</span>
<a name="l00238"></a>00238 <span class="preprocessor"> enum is_float_enum \</span>
<a name="l00239"></a>00239 <span class="preprocessor"> { \</span>
<a name="l00240"></a>00240 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00241"></a>00241 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00242"></a>00242 <span class="preprocessor"> }; \</span>
<a name="l00243"></a>00243 <span class="preprocessor"> }</span>
<a name="l00244"></a>00244 <span class="preprocessor"></span>
<a name="l00245"></a>00245 GLM_DETAIL_IS_FLOAT(detail::half);
<a name="l00246"></a>00246 GLM_DETAIL_IS_FLOAT(<span class="keywordtype">float</span>);
<a name="l00247"></a>00247 GLM_DETAIL_IS_FLOAT(<span class="keywordtype">double</span>);
<a name="l00248"></a>00248 GLM_DETAIL_IS_FLOAT(<span class="keywordtype">long</span> <span class="keywordtype">double</span>);
<a name="l00249"></a>00249
<a name="l00251"></a>00251 <span class="comment">// bool</span>
<a name="l00252"></a>00252
<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00254"></a>00254 <span class="keyword">struct </span>is_bool
<a name="l00255"></a>00255 {
<a name="l00256"></a>00256 <span class="keyword">enum</span> is_bool_enum
<a name="l00257"></a>00257 {
<a name="l00258"></a>00258 _YES = 0,
<a name="l00259"></a>00259 _NO = 1
<a name="l00260"></a>00260 };
<a name="l00261"></a>00261 };
<a name="l00262"></a>00262
<a name="l00263"></a>00263 <span class="keyword">template</span> &lt;&gt;
<a name="l00264"></a>00264 <span class="keyword">struct </span>is_bool&lt;bool&gt;
<a name="l00265"></a>00265 {
<a name="l00266"></a>00266 <span class="keyword">enum</span> is_bool_enum
<a name="l00267"></a>00267 {
<a name="l00268"></a>00268 _YES = 1,
<a name="l00269"></a>00269 _NO = 0
<a name="l00270"></a>00270 };
<a name="l00271"></a>00271 };
<a name="l00272"></a>00272
<a name="l00274"></a>00274 <span class="comment">// vector</span>
<a name="l00275"></a>00275
<a name="l00276"></a>00276 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00277"></a>00277 <span class="keyword">struct </span>is_vector
<a name="l00278"></a>00278 {
<a name="l00279"></a>00279 <span class="keyword">enum</span> is_vector_enum
<a name="l00280"></a>00280 {
<a name="l00281"></a>00281 _YES = 0,
<a name="l00282"></a>00282 _NO = 1
<a name="l00283"></a>00283 };
<a name="l00284"></a>00284 };
<a name="l00285"></a>00285
<a name="l00286"></a>00286 <span class="preprocessor"># define GLM_DETAIL_IS_VECTOR(TYPE) \</span>
<a name="l00287"></a>00287 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00288"></a>00288 <span class="preprocessor"> struct is_vector&lt;TYPE&lt;T&gt; &gt; \</span>
<a name="l00289"></a>00289 <span class="preprocessor"> { \</span>
<a name="l00290"></a>00290 <span class="preprocessor"> enum is_vector_enum \</span>
<a name="l00291"></a>00291 <span class="preprocessor"> { \</span>
<a name="l00292"></a>00292 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00293"></a>00293 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00294"></a>00294 <span class="preprocessor"> }; \</span>
<a name="l00295"></a>00295 <span class="preprocessor"> }</span>
<a name="l00296"></a>00296 <span class="preprocessor"></span>
<a name="l00298"></a>00298 <span class="comment">// matrix</span>
<a name="l00299"></a>00299
<a name="l00300"></a>00300 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00301"></a>00301 <span class="keyword">struct </span>is_matrix
<a name="l00302"></a>00302 {
<a name="l00303"></a>00303 <span class="keyword">enum</span> is_matrix_enum
<a name="l00304"></a>00304 {
<a name="l00305"></a>00305 _YES = 0,
<a name="l00306"></a>00306 _NO = 1
<a name="l00307"></a>00307 };
<a name="l00308"></a>00308 };
<a name="l00309"></a>00309
<a name="l00310"></a>00310 <span class="preprocessor">#define GLM_DETAIL_IS_MATRIX(T) \</span>
<a name="l00311"></a>00311 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00312"></a>00312 <span class="preprocessor"> struct is_matrix \</span>
<a name="l00313"></a>00313 <span class="preprocessor"> { \</span>
<a name="l00314"></a>00314 <span class="preprocessor"> enum is_matrix_enum \</span>
<a name="l00315"></a>00315 <span class="preprocessor"> { \</span>
<a name="l00316"></a>00316 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00317"></a>00317 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00318"></a>00318 <span class="preprocessor"> }; \</span>
<a name="l00319"></a>00319 <span class="preprocessor"> }</span>
<a name="l00320"></a>00320 <span class="preprocessor"></span>
<a name="l00322"></a>00322 <span class="comment">// type</span>
<a name="l00323"></a>00323
<a name="l00324"></a>00324 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00325"></a>00325 <span class="keyword">struct </span>type
<a name="l00326"></a>00326 {
<a name="l00327"></a>00327 <span class="keyword">enum</span> type_enum
<a name="l00328"></a>00328 {
<a name="l00329"></a>00329 is_float = is_float&lt;T&gt;::_YES,
<a name="l00330"></a>00330 is_int = is_int&lt;T&gt;::_YES,
<a name="l00331"></a>00331 is_uint = is_uint&lt;T&gt;::_YES,
<a name="l00332"></a>00332 is_bool = is_bool&lt;T&gt;::_YES
<a name="l00333"></a>00333 };
<a name="l00334"></a>00334 };
<a name="l00335"></a>00335
<a name="l00337"></a>00337 <span class="comment">// type</span>
<a name="l00338"></a>00338
<a name="l00339"></a>00339 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> int8;
<a name="l00340"></a>00340 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> int16;
<a name="l00341"></a>00341 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> int32;
<a name="l00342"></a>00342 <span class="keyword">typedef</span> detail::sint64 int64;
<a name="l00343"></a>00343
<a name="l00344"></a>00344 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> uint8;
<a name="l00345"></a>00345 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> uint16;
<a name="l00346"></a>00346 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32;
<a name="l00347"></a>00347 <span class="keyword">typedef</span> detail::uint64 uint64;
<a name="l00348"></a>00348
<a name="l00349"></a>00349 <span class="keyword">typedef</span> detail::half float16;
<a name="l00350"></a>00350 <span class="keyword">typedef</span> <span class="keywordtype">float</span> float32;
<a name="l00351"></a>00351 <span class="keyword">typedef</span> <span class="keywordtype">double</span> float64;
<a name="l00352"></a>00352
<a name="l00354"></a>00354 <span class="comment">// float_or_int_trait </span>
<a name="l00355"></a>00355
<a name="l00356"></a>00356 <span class="keyword">struct </span>float_or_int_value
<a name="l00357"></a>00357 {
<a name="l00358"></a>00358 <span class="keyword">enum</span>
<a name="l00359"></a>00359 {
<a name="l00360"></a>00360 GLM_ERROR,
<a name="l00361"></a>00361 GLM_FLOAT,
<a name="l00362"></a>00362 GLM_INT
<a name="l00363"></a>00363 };
<a name="l00364"></a>00364 };
<a name="l00365"></a>00365
<a name="l00366"></a>00366 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00367"></a>00367 <span class="keyword">struct </span>float_or_int_trait
<a name="l00368"></a>00368 {
<a name="l00369"></a>00369 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_ERROR};
<a name="l00370"></a>00370 };
<a name="l00371"></a>00371
<a name="l00372"></a>00372 <span class="keyword">template</span> &lt;&gt;
<a name="l00373"></a>00373 <span class="keyword">struct </span>float_or_int_trait&lt;int8&gt;
<a name="l00374"></a>00374 {
<a name="l00375"></a>00375 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00376"></a>00376 };
<a name="l00377"></a>00377
<a name="l00378"></a>00378 <span class="keyword">template</span> &lt;&gt;
<a name="l00379"></a>00379 <span class="keyword">struct </span>float_or_int_trait&lt;int16&gt;
<a name="l00380"></a>00380 {
<a name="l00381"></a>00381 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00382"></a>00382 };
<a name="l00383"></a>00383
<a name="l00384"></a>00384 <span class="keyword">template</span> &lt;&gt;
<a name="l00385"></a>00385 <span class="keyword">struct </span>float_or_int_trait&lt;int32&gt;
<a name="l00386"></a>00386 {
<a name="l00387"></a>00387 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00388"></a>00388 };
<a name="l00389"></a>00389
<a name="l00390"></a>00390 <span class="keyword">template</span> &lt;&gt;
<a name="l00391"></a>00391 <span class="keyword">struct </span>float_or_int_trait&lt;int64&gt;
<a name="l00392"></a>00392 {
<a name="l00393"></a>00393 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00394"></a>00394 };
<a name="l00395"></a>00395
<a name="l00396"></a>00396 <span class="keyword">template</span> &lt;&gt;
<a name="l00397"></a>00397 <span class="keyword">struct </span>float_or_int_trait&lt;uint8&gt;
<a name="l00398"></a>00398 {
<a name="l00399"></a>00399 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00400"></a>00400 };
<a name="l00401"></a>00401
<a name="l00402"></a>00402 <span class="keyword">template</span> &lt;&gt;
<a name="l00403"></a>00403 <span class="keyword">struct </span>float_or_int_trait&lt;uint16&gt;
<a name="l00404"></a>00404 {
<a name="l00405"></a>00405 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00406"></a>00406 };
<a name="l00407"></a>00407
<a name="l00408"></a>00408 <span class="keyword">template</span> &lt;&gt;
<a name="l00409"></a>00409 <span class="keyword">struct </span>float_or_int_trait&lt;uint32&gt;
<a name="l00410"></a>00410 {
<a name="l00411"></a>00411 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00412"></a>00412 };
<a name="l00413"></a>00413
<a name="l00414"></a>00414 <span class="keyword">template</span> &lt;&gt;
<a name="l00415"></a>00415 <span class="keyword">struct </span>float_or_int_trait&lt;uint64&gt;
<a name="l00416"></a>00416 {
<a name="l00417"></a>00417 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_INT};
<a name="l00418"></a>00418 };
<a name="l00419"></a>00419
<a name="l00420"></a>00420 <span class="keyword">template</span> &lt;&gt;
<a name="l00421"></a>00421 <span class="keyword">struct </span>float_or_int_trait&lt;float16&gt;
<a name="l00422"></a>00422 {
<a name="l00423"></a>00423 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_FLOAT};
<a name="l00424"></a>00424 };
<a name="l00425"></a>00425
<a name="l00426"></a>00426 <span class="keyword">template</span> &lt;&gt;
<a name="l00427"></a>00427 <span class="keyword">struct </span>float_or_int_trait&lt;float32&gt;
<a name="l00428"></a>00428 {
<a name="l00429"></a>00429 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_FLOAT};
<a name="l00430"></a>00430 };
<a name="l00431"></a>00431
<a name="l00432"></a>00432 <span class="keyword">template</span> &lt;&gt;
<a name="l00433"></a>00433 <span class="keyword">struct </span>float_or_int_trait&lt;float64&gt;
<a name="l00434"></a>00434 {
<a name="l00435"></a>00435 <span class="keyword">enum</span>{ID = float_or_int_value::GLM_FLOAT};
<a name="l00436"></a>00436 };
<a name="l00437"></a>00437
<a name="l00438"></a>00438 }<span class="comment">//namespace detail</span>
<a name="l00439"></a>00439 }<span class="comment">//namespace glm</span>
<a name="l00440"></a>00440
<a name="l00441"></a>00441 <span class="preprocessor">#if((GLM_COMPILER &amp; GLM_COMPILER_VC) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_VC2005))</span>
<a name="l00442"></a>00442 <span class="preprocessor"></span><span class="preprocessor"># define GLM_DEPRECATED __declspec(deprecated)</span>
<a name="l00443"></a>00443 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGN(x) __declspec(align(x)) </span>
<a name="l00444"></a>00444 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct </span>
<a name="l00445"></a>00445 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT __declspec(restrict)</span>
<a name="l00446"></a>00446 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR __restrict</span>
<a name="l00447"></a>00447 <span class="preprocessor"></span><span class="preprocessor">#elif((GLM_COMPILER &amp; (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_GCC31))</span>
<a name="l00448"></a>00448 <span class="preprocessor"></span><span class="preprocessor"># define GLM_DEPRECATED __attribute__((__deprecated__))</span>
<a name="l00449"></a>00449 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGN(x) __attribute__((aligned(x)))</span>
<a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))</span>
<a name="l00451"></a>00451 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPILER &gt;= GLM_COMPILER_GCC33)</span>
<a name="l00452"></a>00452 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT __restrict__</span>
<a name="l00453"></a>00453 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR __restrict__</span>
<a name="l00454"></a>00454 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00455"></a>00455 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT</span>
<a name="l00456"></a>00456 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR</span>
<a name="l00457"></a>00457 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00458"></a>00458 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT __restrict__</span>
<a name="l00459"></a>00459 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR __restrict__</span>
<a name="l00460"></a>00460 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00461"></a>00461 <span class="preprocessor"></span><span class="preprocessor"># define GLM_DEPRECATED</span>
<a name="l00462"></a>00462 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGN</span>
<a name="l00463"></a>00463 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGNED_STRUCT(x) </span>
<a name="l00464"></a>00464 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT</span>
<a name="l00465"></a>00465 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR</span>
<a name="l00466"></a>00466 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00467"></a>00467 <span class="preprocessor"></span>
<a name="l00468"></a>00468 <span class="preprocessor">#endif//glm_core_detail</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_fixes.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_fixes.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00004_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2011-02-21 / 2011-11-22 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00004_source.html">_fixes.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,116 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_fixes.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_fixes.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00004.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <span class="preprocessor">#ifdef max</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#undef max</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00037"></a>00037 <span class="preprocessor">#ifdef min</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#undef min</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="preprocessor">#ifdef isnan</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#undef isnan</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00047"></a>00047 <span class="preprocessor">#ifdef isinf</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#undef isinf</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00052"></a>00052 <span class="preprocessor">#ifdef log2</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#undef log2</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_swizzle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_swizzle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00005_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-04-20 / 2011-02-16 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00005_source.html">_swizzle.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,903 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_swizzle.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_swizzle.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00005.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_core_swizzle</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_swizzle</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="a00006.html" title="OpenGL Mathematics (glm.g-truc.net)">_swizzle_func.hpp</a>&quot;</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="keyword">namespace </span>glm
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">enum</span> comp
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 X = 0,
<a name="l00039"></a>00039 R = 0,
<a name="l00040"></a>00040 S = 0,
<a name="l00041"></a>00041 Y = 1,
<a name="l00042"></a>00042 G = 1,
<a name="l00043"></a>00043 T = 1,
<a name="l00044"></a>00044 Z = 2,
<a name="l00045"></a>00045 B = 2,
<a name="l00046"></a>00046 P = 2,
<a name="l00047"></a>00047 W = 3,
<a name="l00048"></a>00048 A = 3,
<a name="l00049"></a>00049 Q = 3
<a name="l00050"></a>00050 };
<a name="l00051"></a>00051 }<span class="comment">//namespace glm</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">namespace </span>glm{
<a name="l00054"></a>00054 <span class="keyword">namespace </span>detail
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 <span class="comment">// Internal class for implementing swizzle operators</span>
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">int</span> N&gt;
<a name="l00058"></a>00058 <span class="keyword">struct </span>_swizzle_base0
<a name="l00059"></a>00059 {
<a name="l00060"></a>00060 <span class="keyword">typedef</span> T value_type;
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keyword">protected</span>:
<a name="l00063"></a>00063 value_type&amp; elem (<span class="keywordtype">size_t</span> i) { <span class="keywordflow">return</span> (reinterpret_cast&lt;value_type*&gt;(_buffer))[i]; }
<a name="l00064"></a>00064 <span class="keyword">const</span> value_type&amp; elem (<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (reinterpret_cast&lt;const value_type*&gt;(_buffer))[i]; }
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="comment">// Use an opaque buffer to *ensure* the compiler doesn&#39;t call a constructor.</span>
<a name="l00067"></a>00067 <span class="comment">// The size 1 buffer is assumed to aligned to the actual members so that the</span>
<a name="l00068"></a>00068 <span class="comment">// elem() </span>
<a name="l00069"></a>00069 <span class="keywordtype">char</span> _buffer[1];
<a name="l00070"></a>00070 };
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> V, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">int</span> N&gt;
<a name="l00073"></a>00073 <span class="keyword">struct </span>_swizzle_base1 : <span class="keyword">public</span> _swizzle_base0&lt;T,N&gt;
<a name="l00074"></a>00074 {
<a name="l00075"></a>00075 };
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> V, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1&gt;
<a name="l00078"></a>00078 <span class="keyword">struct </span>_swizzle_base1&lt;T,V,E0,E1,-1,-2,2&gt; : <span class="keyword">public</span> _swizzle_base0&lt;T,2&gt;
<a name="l00079"></a>00079 {
<a name="l00080"></a>00080 V operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> V(this-&gt;elem(E0), this-&gt;elem(E1)); }
<a name="l00081"></a>00081 };
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> V, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2&gt;
<a name="l00084"></a>00084 <span class="keyword">struct </span>_swizzle_base1&lt;T,V,E0,E1,E2,-1,3&gt; : <span class="keyword">public</span> _swizzle_base0&lt;T,3&gt;
<a name="l00085"></a>00085 {
<a name="l00086"></a>00086 V operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> V(this-&gt;elem(E0), this-&gt;elem(E1), this-&gt;elem(E2)); }
<a name="l00087"></a>00087 };
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> V, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3&gt;
<a name="l00090"></a>00090 <span class="keyword">struct </span>_swizzle_base1&lt;T,V,E0,E1,E2,E3,4&gt; : <span class="keyword">public</span> _swizzle_base0&lt;T,4&gt;
<a name="l00091"></a>00091 {
<a name="l00092"></a>00092 V operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> V(this-&gt;elem(E0), this-&gt;elem(E1), this-&gt;elem(E2), this-&gt;elem(E3)); }
<a name="l00093"></a>00093 };
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="comment">// Internal class for implementing swizzle operators</span>
<a name="l00096"></a>00096 <span class="comment">/*</span>
<a name="l00097"></a>00097 <span class="comment"> Template parameters:</span>
<a name="l00098"></a>00098 <span class="comment"></span>
<a name="l00099"></a>00099 <span class="comment"> ValueType = type of scalar values (e.g. float, double)</span>
<a name="l00100"></a>00100 <span class="comment"> VecType = class the swizzle is applies to (e.g. tvec3&lt;float&gt;)</span>
<a name="l00101"></a>00101 <span class="comment"> N = number of components in the vector (e.g. 3)</span>
<a name="l00102"></a>00102 <span class="comment"> E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec</span>
<a name="l00103"></a>00103 <span class="comment"> </span>
<a name="l00104"></a>00104 <span class="comment"> DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles</span>
<a name="l00105"></a>00105 <span class="comment"> containing duplicate elements so that they cannot be used as r-values). </span>
<a name="l00106"></a>00106 <span class="comment"> */</span>
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ValueType, <span class="keyword">typename</span> VecType, <span class="keywordtype">int</span> N, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">int</span> DUPLICATE_ELEMENTS&gt;
<a name="l00108"></a>00108 <span class="keyword">struct </span>_swizzle_base2 : <span class="keyword">public</span> _swizzle_base1&lt;ValueType,VecType,E0,E1,E2,E3,N&gt;
<a name="l00109"></a>00109 {
<a name="l00110"></a>00110 <span class="keyword">typedef</span> VecType vec_type;
<a name="l00111"></a>00111 <span class="keyword">typedef</span> ValueType value_type;
<a name="l00112"></a>00112
<a name="l00113"></a>00113 _swizzle_base2&amp; operator= (<span class="keyword">const</span> ValueType&amp; t)
<a name="l00114"></a>00114 {
<a name="l00115"></a>00115 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; N; ++i)
<a name="l00116"></a>00116 (*<span class="keyword">this</span>)[i] = t;
<a name="l00117"></a>00117 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00118"></a>00118 }
<a name="l00119"></a>00119
<a name="l00120"></a>00120 _swizzle_base2&amp; operator= (<span class="keyword">const</span> VecType&amp; that)
<a name="l00121"></a>00121 {
<a name="l00122"></a>00122 <span class="keyword">struct </span>op {
<a name="l00123"></a>00123 <span class="keywordtype">void</span> operator() (value_type&amp; <a class="code" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e" title="Return e constant.">e</a>, value_type&amp; t) { e = t; }
<a name="l00124"></a>00124 };
<a name="l00125"></a>00125 _apply_op(that, op());
<a name="l00126"></a>00126 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00127"></a>00127 }
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="keywordtype">void</span> operator -= (<span class="keyword">const</span> VecType&amp; that)
<a name="l00130"></a>00130 {
<a name="l00131"></a>00131 <span class="keyword">struct </span>op {
<a name="l00132"></a>00132 <span class="keywordtype">void</span> operator() (value_type&amp; <a class="code" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e" title="Return e constant.">e</a>, value_type&amp; t) { e -= t; }
<a name="l00133"></a>00133 };
<a name="l00134"></a>00134 _apply_op(that, op());
<a name="l00135"></a>00135 }
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <span class="keywordtype">void</span> operator += (<span class="keyword">const</span> VecType&amp; that)
<a name="l00138"></a>00138 {
<a name="l00139"></a>00139 <span class="keyword">struct </span>op {
<a name="l00140"></a>00140 <span class="keywordtype">void</span> operator() (value_type&amp; <a class="code" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e" title="Return e constant.">e</a>, value_type&amp; t) { e += t; }
<a name="l00141"></a>00141 };
<a name="l00142"></a>00142 _apply_op(that, op());
<a name="l00143"></a>00143 }
<a name="l00144"></a>00144
<a name="l00145"></a>00145 <span class="keywordtype">void</span> operator *= (<span class="keyword">const</span> VecType&amp; that)
<a name="l00146"></a>00146 {
<a name="l00147"></a>00147 <span class="keyword">struct </span>op {
<a name="l00148"></a>00148 <span class="keywordtype">void</span> operator() (value_type&amp; <a class="code" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e" title="Return e constant.">e</a>, value_type&amp; t) { e *= t; }
<a name="l00149"></a>00149 };
<a name="l00150"></a>00150 _apply_op(that, op());
<a name="l00151"></a>00151 }
<a name="l00152"></a>00152
<a name="l00153"></a>00153 <span class="keywordtype">void</span> operator /= (<span class="keyword">const</span> VecType&amp; that)
<a name="l00154"></a>00154 {
<a name="l00155"></a>00155 <span class="keyword">struct </span>op {
<a name="l00156"></a>00156 <span class="keywordtype">void</span> operator() (value_type&amp; <a class="code" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e" title="Return e constant.">e</a>, value_type&amp; t) { e /= t; }
<a name="l00157"></a>00157 };
<a name="l00158"></a>00158 _apply_op(that, op());
<a name="l00159"></a>00159 }
<a name="l00160"></a>00160
<a name="l00161"></a>00161 value_type&amp; operator[] (<span class="keywordtype">size_t</span> i)
<a name="l00162"></a>00162 {
<a name="l00163"></a>00163 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };
<a name="l00164"></a>00164 <span class="keywordflow">return</span> this-&gt;elem(offset_dst[i]);
<a name="l00165"></a>00165 }
<a name="l00166"></a>00166 value_type operator[] (<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span>
<a name="l00167"></a>00167 <span class="keyword"> </span>{
<a name="l00168"></a>00168 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };
<a name="l00169"></a>00169 <span class="keywordflow">return</span> this-&gt;elem(offset_dst[i]);
<a name="l00170"></a>00170 }
<a name="l00171"></a>00171 <span class="keyword">protected</span>:
<a name="l00172"></a>00172 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00173"></a>00173 <span class="keywordtype">void</span> _apply_op(<span class="keyword">const</span> VecType&amp; that, T op)
<a name="l00174"></a>00174 {
<a name="l00175"></a>00175 <span class="comment">// Make a copy of the data in this == &amp;that.</span>
<a name="l00176"></a>00176 <span class="comment">// The copier should optimize out the copy in cases where the function is</span>
<a name="l00177"></a>00177 <span class="comment">// properly inlined and the copy is not necessary.</span>
<a name="l00178"></a>00178 ValueType t[N];
<a name="l00179"></a>00179 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; N; ++i)
<a name="l00180"></a>00180 t[i] = that[i];
<a name="l00181"></a>00181 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; N; ++i)
<a name="l00182"></a>00182 op( (*<span class="keyword">this</span>)[i], t[i] );
<a name="l00183"></a>00183 }
<a name="l00184"></a>00184 };
<a name="l00185"></a>00185
<a name="l00186"></a>00186 <span class="comment">// Specialization for swizzles containing duplicate elements. These cannot be modified.</span>
<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ValueType, <span class="keyword">typename</span> VecType, <span class="keywordtype">int</span> N, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3&gt;
<a name="l00188"></a>00188 <span class="keyword">struct </span>_swizzle_base2&lt;ValueType,VecType,N,E0,E1,E2,E3,1&gt; : <span class="keyword">public</span> _swizzle_base1&lt;ValueType,VecType,E0,E1,E2,E3,N&gt;
<a name="l00189"></a>00189 {
<a name="l00190"></a>00190 <span class="keyword">typedef</span> VecType vec_type;
<a name="l00191"></a>00191 <span class="keyword">typedef</span> ValueType value_type;
<a name="l00192"></a>00192
<a name="l00193"></a>00193 <span class="keyword">struct </span>Stub {};
<a name="l00194"></a>00194 _swizzle_base2&amp; operator= (<span class="keyword">const</span> Stub&amp; that) {}
<a name="l00195"></a>00195
<a name="l00196"></a>00196 value_type operator[] (<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span>
<a name="l00197"></a>00197 <span class="keyword"> </span>{
<a name="l00198"></a>00198 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };
<a name="l00199"></a>00199 <span class="keywordflow">return</span> this-&gt;elem(offset_dst[i]);
<a name="l00200"></a>00200 }
<a name="l00201"></a>00201 };
<a name="l00202"></a>00202
<a name="l00203"></a>00203 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N,<span class="keyword">typename</span> ValueType, <span class="keyword">typename</span> VecType, <span class="keywordtype">int</span> E0,<span class="keywordtype">int</span> E1,<span class="keywordtype">int</span> E2,<span class="keywordtype">int</span> E3&gt;
<a name="l00204"></a>00204 <span class="keyword">struct </span>swizzle : <span class="keyword">public</span> _swizzle_base2&lt;ValueType,VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)&gt;
<a name="l00205"></a>00205 {
<a name="l00206"></a>00206 <span class="keyword">typedef</span> _swizzle_base2&lt;ValueType,VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)&gt; base_type;
<a name="l00207"></a>00207
<a name="l00208"></a>00208 <span class="keyword">using</span> base_type::operator=;
<a name="l00209"></a>00209
<a name="l00210"></a>00210 operator VecType ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (*<span class="keyword">this</span>)(); }
<a name="l00211"></a>00211 };
<a name="l00212"></a>00212
<a name="l00213"></a>00213 <span class="comment">//</span>
<a name="l00214"></a>00214 <span class="comment">// To prevent the C++ syntax from getting entirely overwhelming, define some alias macros</span>
<a name="l00215"></a>00215 <span class="comment">//</span>
<a name="l00216"></a>00216 <span class="preprocessor">#define _GLM_SWIZZLE_TEMPLATE1 template &lt;int N, typename T, typename V, int E0, int E1, int E2, int E3&gt;</span>
<a name="l00217"></a>00217 <span class="preprocessor"></span><span class="preprocessor">#define _GLM_SWIZZLE_TEMPLATE2 template &lt;int N, typename T, typename V, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3&gt;</span>
<a name="l00218"></a>00218 <span class="preprocessor"></span><span class="preprocessor">#define _GLM_SWIZZLE_TYPE1 glm::detail::swizzle&lt;N,T,V,E0,E1,E2,E3&gt;</span>
<a name="l00219"></a>00219 <span class="preprocessor"></span><span class="preprocessor">#define _GLM_SWIZZLE_TYPE2 glm::detail::swizzle&lt;N,T,V,F0,F1,F2,F3&gt;</span>
<a name="l00220"></a>00220 <span class="preprocessor"></span>
<a name="l00221"></a>00221 <span class="comment">//</span>
<a name="l00222"></a>00222 <span class="comment">// Wrapper for a binary operator (e.g. u.yy + v.zy)</span>
<a name="l00223"></a>00223 <span class="comment">//</span>
<a name="l00224"></a>00224 <span class="preprocessor">#define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \</span>
<a name="l00225"></a>00225 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE2 \</span>
<a name="l00226"></a>00226 <span class="preprocessor"> V operator OPERAND ( const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE2&amp; b) \</span>
<a name="l00227"></a>00227 <span class="preprocessor"> { \</span>
<a name="l00228"></a>00228 <span class="preprocessor"> return a() OPERAND b(); \</span>
<a name="l00229"></a>00229 <span class="preprocessor"> } \</span>
<a name="l00230"></a>00230 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00231"></a>00231 <span class="preprocessor"> V operator OPERAND ( const _GLM_SWIZZLE_TYPE1&amp; a, const V&amp; b) \</span>
<a name="l00232"></a>00232 <span class="preprocessor"> { \</span>
<a name="l00233"></a>00233 <span class="preprocessor"> return a() OPERAND b; \</span>
<a name="l00234"></a>00234 <span class="preprocessor"> } \</span>
<a name="l00235"></a>00235 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00236"></a>00236 <span class="preprocessor"> V operator OPERAND ( const V&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b) \</span>
<a name="l00237"></a>00237 <span class="preprocessor"> { \</span>
<a name="l00238"></a>00238 <span class="preprocessor"> return a OPERAND b(); \</span>
<a name="l00239"></a>00239 <span class="preprocessor"> }</span>
<a name="l00240"></a>00240 <span class="preprocessor"></span>
<a name="l00241"></a>00241 <span class="comment">//</span>
<a name="l00242"></a>00242 <span class="comment">// Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)</span>
<a name="l00243"></a>00243 <span class="comment">//</span>
<a name="l00244"></a>00244 <span class="preprocessor">#define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \</span>
<a name="l00245"></a>00245 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00246"></a>00246 <span class="preprocessor"> V operator OPERAND ( const _GLM_SWIZZLE_TYPE1&amp; a, const T&amp; b) \</span>
<a name="l00247"></a>00247 <span class="preprocessor"> { \</span>
<a name="l00248"></a>00248 <span class="preprocessor"> return a() OPERAND b; \</span>
<a name="l00249"></a>00249 <span class="preprocessor"> } \</span>
<a name="l00250"></a>00250 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00251"></a>00251 <span class="preprocessor"> V operator OPERAND ( const T&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b) \</span>
<a name="l00252"></a>00252 <span class="preprocessor"> { \</span>
<a name="l00253"></a>00253 <span class="preprocessor"> return a OPERAND b(); \</span>
<a name="l00254"></a>00254 <span class="preprocessor"> }</span>
<a name="l00255"></a>00255 <span class="preprocessor"></span>
<a name="l00256"></a>00256 <span class="comment">//</span>
<a name="l00257"></a>00257 <span class="comment">// Macro for wrapping a function taking one argument (e.g. abs())</span>
<a name="l00258"></a>00258 <span class="comment">//</span>
<a name="l00259"></a>00259 <span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \</span>
<a name="l00260"></a>00260 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00261"></a>00261 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a) \</span>
<a name="l00262"></a>00262 <span class="preprocessor"> { \</span>
<a name="l00263"></a>00263 <span class="preprocessor"> return FUNCTION(a()); \</span>
<a name="l00264"></a>00264 <span class="preprocessor"> }</span>
<a name="l00265"></a>00265 <span class="preprocessor"></span>
<a name="l00266"></a>00266 <span class="comment">//</span>
<a name="l00267"></a>00267 <span class="comment">// Macro for wrapping a function taking two vector arguments (e.g. dot()).</span>
<a name="l00268"></a>00268 <span class="comment">//</span>
<a name="l00269"></a>00269 <span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \</span>
<a name="l00270"></a>00270 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE2 \</span>
<a name="l00271"></a>00271 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE2&amp; b) \</span>
<a name="l00272"></a>00272 <span class="preprocessor"> { \</span>
<a name="l00273"></a>00273 <span class="preprocessor"> return FUNCTION(a(), b()); \</span>
<a name="l00274"></a>00274 <span class="preprocessor"> } \</span>
<a name="l00275"></a>00275 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00276"></a>00276 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b) \</span>
<a name="l00277"></a>00277 <span class="preprocessor"> { \</span>
<a name="l00278"></a>00278 <span class="preprocessor"> return FUNCTION(a(), b()); \</span>
<a name="l00279"></a>00279 <span class="preprocessor"> } \</span>
<a name="l00280"></a>00280 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00281"></a>00281 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const typename V&amp; b) \</span>
<a name="l00282"></a>00282 <span class="preprocessor"> { \</span>
<a name="l00283"></a>00283 <span class="preprocessor"> return FUNCTION(a(), b); \</span>
<a name="l00284"></a>00284 <span class="preprocessor"> } \</span>
<a name="l00285"></a>00285 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00286"></a>00286 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b) \</span>
<a name="l00287"></a>00287 <span class="preprocessor"> { \</span>
<a name="l00288"></a>00288 <span class="preprocessor"> return FUNCTION(a, b()); \</span>
<a name="l00289"></a>00289 <span class="preprocessor"> } </span>
<a name="l00290"></a>00290 <span class="preprocessor"></span>
<a name="l00291"></a>00291 <span class="comment">//</span>
<a name="l00292"></a>00292 <span class="comment">// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).</span>
<a name="l00293"></a>00293 <span class="comment">//</span>
<a name="l00294"></a>00294 <span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \</span>
<a name="l00295"></a>00295 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE2 \</span>
<a name="l00296"></a>00296 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE2&amp; b, const T&amp; c) \</span>
<a name="l00297"></a>00297 <span class="preprocessor"> { \</span>
<a name="l00298"></a>00298 <span class="preprocessor"> return FUNCTION(a(), b(), c); \</span>
<a name="l00299"></a>00299 <span class="preprocessor"> } \</span>
<a name="l00300"></a>00300 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00301"></a>00301 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b, const T&amp; c) \</span>
<a name="l00302"></a>00302 <span class="preprocessor"> { \</span>
<a name="l00303"></a>00303 <span class="preprocessor"> return FUNCTION(a(), b(), c); \</span>
<a name="l00304"></a>00304 <span class="preprocessor"> } \</span>
<a name="l00305"></a>00305 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00306"></a>00306 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const typename S0::vec_type&amp; b, const T&amp; c)\</span>
<a name="l00307"></a>00307 <span class="preprocessor"> { \</span>
<a name="l00308"></a>00308 <span class="preprocessor"> return FUNCTION(a(), b, c); \</span>
<a name="l00309"></a>00309 <span class="preprocessor"> } \</span>
<a name="l00310"></a>00310 <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span>
<a name="l00311"></a>00311 <span class="preprocessor"> typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b, const T&amp; c) \</span>
<a name="l00312"></a>00312 <span class="preprocessor"> { \</span>
<a name="l00313"></a>00313 <span class="preprocessor"> return FUNCTION(a, b(), c); \</span>
<a name="l00314"></a>00314 <span class="preprocessor"> } </span>
<a name="l00315"></a>00315 <span class="preprocessor"></span>
<a name="l00316"></a>00316 }<span class="comment">//namespace detail </span>
<a name="l00317"></a>00317 }<span class="comment">//namespace glm</span>
<a name="l00318"></a>00318
<a name="l00319"></a>00319 <span class="keyword">namespace </span>glm
<a name="l00320"></a>00320 {
<a name="l00321"></a>00321 <span class="keyword">namespace </span>detail
<a name="l00322"></a>00322 {
<a name="l00323"></a>00323 _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)
<a name="l00324"></a>00324 _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)
<a name="l00325"></a>00325
<a name="l00326"></a>00326 _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)
<a name="l00327"></a>00327 _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)
<a name="l00328"></a>00328 _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)
<a name="l00329"></a>00329 _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)
<a name="l00330"></a>00330 }
<a name="l00331"></a>00331
<a name="l00332"></a>00332 <span class="comment">//</span>
<a name="l00333"></a>00333 <span class="comment">// Swizzles are distinct types from the unswizzled type. The below macros will</span>
<a name="l00334"></a>00334 <span class="comment">// provide template specializations for the swizzle types for the given functions</span>
<a name="l00335"></a>00335 <span class="comment">// so that the compiler does not have any ambiguity to choosing how to handle</span>
<a name="l00336"></a>00336 <span class="comment">// the function.</span>
<a name="l00337"></a>00337 <span class="comment">//</span>
<a name="l00338"></a>00338 <span class="comment">// The alternative is to use the operator()() when calling the function in order</span>
<a name="l00339"></a>00339 <span class="comment">// to explicitly convert the swizzled type to the unswizzled type.</span>
<a name="l00340"></a>00340 <span class="comment">//</span>
<a name="l00341"></a>00341
<a name="l00342"></a>00342 <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);</span>
<a name="l00343"></a>00343 <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);</span>
<a name="l00344"></a>00344 <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);</span>
<a name="l00345"></a>00345 <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);</span>
<a name="l00346"></a>00346 <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);</span>
<a name="l00347"></a>00347
<a name="l00348"></a>00348 <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);</span>
<a name="l00349"></a>00349 <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);</span>
<a name="l00350"></a>00350 <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step); </span>
<a name="l00351"></a>00351 <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);</span>
<a name="l00352"></a>00352 }
<a name="l00353"></a>00353
<a name="l00354"></a>00354 <span class="preprocessor">#define _GLM_SWIZZLE2_2_MEMBERS(T,P,E0,E1) \</span>
<a name="l00355"></a>00355 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,0,0,-1,-2&gt; E0 ## E0; }; \</span>
<a name="l00356"></a>00356 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,0,1,-1,-2&gt; E0 ## E1; }; \</span>
<a name="l00357"></a>00357 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,1,0,-1,-2&gt; E1 ## E0; }; \</span>
<a name="l00358"></a>00358 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,1,1,-1,-2&gt; E1 ## E1; }; </span>
<a name="l00359"></a>00359 <span class="preprocessor"></span>
<a name="l00360"></a>00360 <span class="preprocessor">#define _GLM_SWIZZLE2_3_MEMBERS(T,P2,E0,E1) \</span>
<a name="l00361"></a>00361 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,0,0,0,-1&gt; E0 ## E0 ## E0; }; \</span>
<a name="l00362"></a>00362 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,0,0,1,-1&gt; E0 ## E0 ## E1; }; \</span>
<a name="l00363"></a>00363 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,0,1,0,-1&gt; E0 ## E1 ## E0; }; \</span>
<a name="l00364"></a>00364 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,0,1,1,-1&gt; E0 ## E1 ## E1; }; \</span>
<a name="l00365"></a>00365 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,1,0,0,-1&gt; E1 ## E0 ## E0; }; \</span>
<a name="l00366"></a>00366 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,1,0,1,-1&gt; E1 ## E0 ## E1; }; \</span>
<a name="l00367"></a>00367 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,1,1,0,-1&gt; E1 ## E1 ## E0; }; \</span>
<a name="l00368"></a>00368 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P2,1,1,1,-1&gt; E1 ## E1 ## E1; }; </span>
<a name="l00369"></a>00369 <span class="preprocessor"></span>
<a name="l00370"></a>00370 <span class="preprocessor">#define _GLM_SWIZZLE2_4_MEMBERS(T,P2,E0,E1) \</span>
<a name="l00371"></a>00371 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,0,0&gt; E0 ## E0 ## E0 ## E0; }; \</span>
<a name="l00372"></a>00372 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,0,1&gt; E0 ## E0 ## E0 ## E1; }; \</span>
<a name="l00373"></a>00373 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,1,0&gt; E0 ## E0 ## E1 ## E0; }; \</span>
<a name="l00374"></a>00374 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,1,1&gt; E0 ## E0 ## E1 ## E1; }; \</span>
<a name="l00375"></a>00375 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,0,0&gt; E0 ## E1 ## E0 ## E0; }; \</span>
<a name="l00376"></a>00376 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,0,1&gt; E0 ## E1 ## E0 ## E1; }; \</span>
<a name="l00377"></a>00377 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,1,0&gt; E0 ## E1 ## E1 ## E0; }; \</span>
<a name="l00378"></a>00378 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,1,1&gt; E0 ## E1 ## E1 ## E1; }; \</span>
<a name="l00379"></a>00379 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,0,0&gt; E1 ## E0 ## E0 ## E0; }; \</span>
<a name="l00380"></a>00380 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,0,1&gt; E1 ## E0 ## E0 ## E1; }; \</span>
<a name="l00381"></a>00381 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,1,0&gt; E1 ## E0 ## E1 ## E0; }; \</span>
<a name="l00382"></a>00382 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,1,1&gt; E1 ## E0 ## E1 ## E1; }; \</span>
<a name="l00383"></a>00383 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,0,0&gt; E1 ## E1 ## E0 ## E0; }; \</span>
<a name="l00384"></a>00384 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,0,1&gt; E1 ## E1 ## E0 ## E1; }; \</span>
<a name="l00385"></a>00385 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,1,0&gt; E1 ## E1 ## E1 ## E0; }; \</span>
<a name="l00386"></a>00386 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,1,1&gt; E1 ## E1 ## E1 ## E1; }; </span>
<a name="l00387"></a>00387 <span class="preprocessor"></span>
<a name="l00388"></a>00388 <span class="preprocessor">#define _GLM_SWIZZLE3_2_MEMBERS(T,P2,E0,E1,E2) \</span>
<a name="l00389"></a>00389 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,0,0,-1,-2&gt; E0 ## E0; }; \</span>
<a name="l00390"></a>00390 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,0,1,-1,-2&gt; E0 ## E1; }; \</span>
<a name="l00391"></a>00391 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,0,2,-1,-2&gt; E0 ## E2; }; \</span>
<a name="l00392"></a>00392 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,1,0,-1,-2&gt; E1 ## E0; }; \</span>
<a name="l00393"></a>00393 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,1,1,-1,-2&gt; E1 ## E1; }; \</span>
<a name="l00394"></a>00394 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,1,2,-1,-2&gt; E1 ## E2; }; \</span>
<a name="l00395"></a>00395 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,2,0,-1,-2&gt; E2 ## E0; }; \</span>
<a name="l00396"></a>00396 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,2,1,-1,-2&gt; E2 ## E1; }; \</span>
<a name="l00397"></a>00397 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P2,2,2,-1,-2&gt; E2 ## E2; }; </span>
<a name="l00398"></a>00398 <span class="preprocessor"></span>
<a name="l00399"></a>00399 <span class="preprocessor">#define _GLM_SWIZZLE3_3_MEMBERS(T,P,E0,E1,E2) \</span>
<a name="l00400"></a>00400 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,0,-1&gt; E0 ## E0 ## E0; }; \</span>
<a name="l00401"></a>00401 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,1,-1&gt; E0 ## E0 ## E1; }; \</span>
<a name="l00402"></a>00402 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,2,-1&gt; E0 ## E0 ## E2; }; \</span>
<a name="l00403"></a>00403 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,0,-1&gt; E0 ## E1 ## E0; }; \</span>
<a name="l00404"></a>00404 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,1,-1&gt; E0 ## E1 ## E1; }; \</span>
<a name="l00405"></a>00405 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,2,-1&gt; E0 ## E1 ## E2; }; \</span>
<a name="l00406"></a>00406 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,0,-1&gt; E0 ## E2 ## E0; }; \</span>
<a name="l00407"></a>00407 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,1,-1&gt; E0 ## E2 ## E1; }; \</span>
<a name="l00408"></a>00408 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,2,-1&gt; E0 ## E2 ## E2; }; \</span>
<a name="l00409"></a>00409 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,0,-1&gt; E1 ## E0 ## E0; }; \</span>
<a name="l00410"></a>00410 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,1,-1&gt; E1 ## E0 ## E1; }; \</span>
<a name="l00411"></a>00411 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,2,-1&gt; E1 ## E0 ## E2; }; \</span>
<a name="l00412"></a>00412 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,0,-1&gt; E1 ## E1 ## E0; }; \</span>
<a name="l00413"></a>00413 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,1,-1&gt; E1 ## E1 ## E1; }; \</span>
<a name="l00414"></a>00414 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,2,-1&gt; E1 ## E1 ## E2; }; \</span>
<a name="l00415"></a>00415 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,0,-1&gt; E1 ## E2 ## E0; }; \</span>
<a name="l00416"></a>00416 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,1,-1&gt; E1 ## E2 ## E1; }; \</span>
<a name="l00417"></a>00417 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,2,-1&gt; E1 ## E2 ## E2; }; \</span>
<a name="l00418"></a>00418 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,0,-1&gt; E2 ## E0 ## E0; }; \</span>
<a name="l00419"></a>00419 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,1,-1&gt; E2 ## E0 ## E1; }; \</span>
<a name="l00420"></a>00420 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,2,-1&gt; E2 ## E0 ## E2; }; \</span>
<a name="l00421"></a>00421 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,0,-1&gt; E2 ## E1 ## E0; }; \</span>
<a name="l00422"></a>00422 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,1,-1&gt; E2 ## E1 ## E1; }; \</span>
<a name="l00423"></a>00423 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,2,-1&gt; E2 ## E1 ## E2; }; \</span>
<a name="l00424"></a>00424 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,0,-1&gt; E2 ## E2 ## E0; }; \</span>
<a name="l00425"></a>00425 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,1,-1&gt; E2 ## E2 ## E1; }; \</span>
<a name="l00426"></a>00426 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,2,-1&gt; E2 ## E2 ## E2; };</span>
<a name="l00427"></a>00427 <span class="preprocessor"></span>
<a name="l00428"></a>00428 <span class="preprocessor">#define _GLM_SWIZZLE3_4_MEMBERS(T,P2,E0,E1,E2) \</span>
<a name="l00429"></a>00429 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,0,0&gt; E0 ## E0 ## E0 ## E0; }; \</span>
<a name="l00430"></a>00430 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,0,1&gt; E0 ## E0 ## E0 ## E1; }; \</span>
<a name="l00431"></a>00431 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,0,2&gt; E0 ## E0 ## E0 ## E2; }; \</span>
<a name="l00432"></a>00432 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,1,0&gt; E0 ## E0 ## E1 ## E0; }; \</span>
<a name="l00433"></a>00433 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,1,1&gt; E0 ## E0 ## E1 ## E1; }; \</span>
<a name="l00434"></a>00434 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,1,2&gt; E0 ## E0 ## E1 ## E2; }; \</span>
<a name="l00435"></a>00435 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,2,0&gt; E0 ## E0 ## E2 ## E0; }; \</span>
<a name="l00436"></a>00436 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,2,1&gt; E0 ## E0 ## E2 ## E1; }; \</span>
<a name="l00437"></a>00437 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,0,2,2&gt; E0 ## E0 ## E2 ## E2; }; \</span>
<a name="l00438"></a>00438 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,0,0&gt; E0 ## E1 ## E0 ## E0; }; \</span>
<a name="l00439"></a>00439 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,0,1&gt; E0 ## E1 ## E0 ## E1; }; \</span>
<a name="l00440"></a>00440 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,0,2&gt; E0 ## E1 ## E0 ## E2; }; \</span>
<a name="l00441"></a>00441 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,1,0&gt; E0 ## E1 ## E1 ## E0; }; \</span>
<a name="l00442"></a>00442 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,1,1&gt; E0 ## E1 ## E1 ## E1; }; \</span>
<a name="l00443"></a>00443 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,1,2&gt; E0 ## E1 ## E1 ## E2; }; \</span>
<a name="l00444"></a>00444 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,2,0&gt; E0 ## E1 ## E2 ## E0; }; \</span>
<a name="l00445"></a>00445 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,2,1&gt; E0 ## E1 ## E2 ## E1; }; \</span>
<a name="l00446"></a>00446 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,1,2,2&gt; E0 ## E1 ## E2 ## E2; }; \</span>
<a name="l00447"></a>00447 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,0,0&gt; E0 ## E2 ## E0 ## E0; }; \</span>
<a name="l00448"></a>00448 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,0,1&gt; E0 ## E2 ## E0 ## E1; }; \</span>
<a name="l00449"></a>00449 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,0,2&gt; E0 ## E2 ## E0 ## E2; }; \</span>
<a name="l00450"></a>00450 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,1,0&gt; E0 ## E2 ## E1 ## E0; }; \</span>
<a name="l00451"></a>00451 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,1,1&gt; E0 ## E2 ## E1 ## E1; }; \</span>
<a name="l00452"></a>00452 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,1,2&gt; E0 ## E2 ## E1 ## E2; }; \</span>
<a name="l00453"></a>00453 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,2,0&gt; E0 ## E2 ## E2 ## E0; }; \</span>
<a name="l00454"></a>00454 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,2,1&gt; E0 ## E2 ## E2 ## E1; }; \</span>
<a name="l00455"></a>00455 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,0,2,2,2&gt; E0 ## E2 ## E2 ## E2; }; \</span>
<a name="l00456"></a>00456 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,0,0&gt; E1 ## E0 ## E0 ## E0; }; \</span>
<a name="l00457"></a>00457 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,0,1&gt; E1 ## E0 ## E0 ## E1; }; \</span>
<a name="l00458"></a>00458 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,0,2&gt; E1 ## E0 ## E0 ## E2; }; \</span>
<a name="l00459"></a>00459 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,1,0&gt; E1 ## E0 ## E1 ## E0; }; \</span>
<a name="l00460"></a>00460 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,1,1&gt; E1 ## E0 ## E1 ## E1; }; \</span>
<a name="l00461"></a>00461 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,1,2&gt; E1 ## E0 ## E1 ## E2; }; \</span>
<a name="l00462"></a>00462 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,2,0&gt; E1 ## E0 ## E2 ## E0; }; \</span>
<a name="l00463"></a>00463 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,2,1&gt; E1 ## E0 ## E2 ## E1; }; \</span>
<a name="l00464"></a>00464 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,0,2,2&gt; E1 ## E0 ## E2 ## E2; }; \</span>
<a name="l00465"></a>00465 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,0,0&gt; E1 ## E1 ## E0 ## E0; }; \</span>
<a name="l00466"></a>00466 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,0,1&gt; E1 ## E1 ## E0 ## E1; }; \</span>
<a name="l00467"></a>00467 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,0,2&gt; E1 ## E1 ## E0 ## E2; }; \</span>
<a name="l00468"></a>00468 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,1,0&gt; E1 ## E1 ## E1 ## E0; }; \</span>
<a name="l00469"></a>00469 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,1,1&gt; E1 ## E1 ## E1 ## E1; }; \</span>
<a name="l00470"></a>00470 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,1,2&gt; E1 ## E1 ## E1 ## E2; }; \</span>
<a name="l00471"></a>00471 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,2,0&gt; E1 ## E1 ## E2 ## E0; }; \</span>
<a name="l00472"></a>00472 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,2,1&gt; E1 ## E1 ## E2 ## E1; }; \</span>
<a name="l00473"></a>00473 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,1,2,2&gt; E1 ## E1 ## E2 ## E2; }; \</span>
<a name="l00474"></a>00474 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,0,0&gt; E1 ## E2 ## E0 ## E0; }; \</span>
<a name="l00475"></a>00475 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,0,1&gt; E1 ## E2 ## E0 ## E1; }; \</span>
<a name="l00476"></a>00476 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,0,2&gt; E1 ## E2 ## E0 ## E2; }; \</span>
<a name="l00477"></a>00477 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,1,0&gt; E1 ## E2 ## E1 ## E0; }; \</span>
<a name="l00478"></a>00478 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,1,1&gt; E1 ## E2 ## E1 ## E1; }; \</span>
<a name="l00479"></a>00479 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,1,2&gt; E1 ## E2 ## E1 ## E2; }; \</span>
<a name="l00480"></a>00480 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,2,0&gt; E1 ## E2 ## E2 ## E0; }; \</span>
<a name="l00481"></a>00481 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,2,1&gt; E1 ## E2 ## E2 ## E1; }; \</span>
<a name="l00482"></a>00482 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,1,2,2,2&gt; E1 ## E2 ## E2 ## E2; }; \</span>
<a name="l00483"></a>00483 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,0,0&gt; E2 ## E0 ## E0 ## E0; }; \</span>
<a name="l00484"></a>00484 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,0,1&gt; E2 ## E0 ## E0 ## E1; }; \</span>
<a name="l00485"></a>00485 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,0,2&gt; E2 ## E0 ## E0 ## E2; }; \</span>
<a name="l00486"></a>00486 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,1,0&gt; E2 ## E0 ## E1 ## E0; }; \</span>
<a name="l00487"></a>00487 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,1,1&gt; E2 ## E0 ## E1 ## E1; }; \</span>
<a name="l00488"></a>00488 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,1,2&gt; E2 ## E0 ## E1 ## E2; }; \</span>
<a name="l00489"></a>00489 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,2,0&gt; E2 ## E0 ## E2 ## E0; }; \</span>
<a name="l00490"></a>00490 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,2,1&gt; E2 ## E0 ## E2 ## E1; }; \</span>
<a name="l00491"></a>00491 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,0,2,2&gt; E2 ## E0 ## E2 ## E2; }; \</span>
<a name="l00492"></a>00492 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,0,0&gt; E2 ## E1 ## E0 ## E0; }; \</span>
<a name="l00493"></a>00493 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,0,1&gt; E2 ## E1 ## E0 ## E1; }; \</span>
<a name="l00494"></a>00494 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,0,2&gt; E2 ## E1 ## E0 ## E2; }; \</span>
<a name="l00495"></a>00495 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,1,0&gt; E2 ## E1 ## E1 ## E0; }; \</span>
<a name="l00496"></a>00496 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,1,1&gt; E2 ## E1 ## E1 ## E1; }; \</span>
<a name="l00497"></a>00497 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,1,2&gt; E2 ## E1 ## E1 ## E2; }; \</span>
<a name="l00498"></a>00498 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,2,0&gt; E2 ## E1 ## E2 ## E0; }; \</span>
<a name="l00499"></a>00499 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,2,1&gt; E2 ## E1 ## E2 ## E1; }; \</span>
<a name="l00500"></a>00500 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,1,2,2&gt; E2 ## E1 ## E2 ## E2; }; \</span>
<a name="l00501"></a>00501 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,0,0&gt; E2 ## E2 ## E0 ## E0; }; \</span>
<a name="l00502"></a>00502 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,0,1&gt; E2 ## E2 ## E0 ## E1; }; \</span>
<a name="l00503"></a>00503 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,0,2&gt; E2 ## E2 ## E0 ## E2; }; \</span>
<a name="l00504"></a>00504 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,1,0&gt; E2 ## E2 ## E1 ## E0; }; \</span>
<a name="l00505"></a>00505 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,1,1&gt; E2 ## E2 ## E1 ## E1; }; \</span>
<a name="l00506"></a>00506 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,1,2&gt; E2 ## E2 ## E1 ## E2; }; \</span>
<a name="l00507"></a>00507 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,2,0&gt; E2 ## E2 ## E2 ## E0; }; \</span>
<a name="l00508"></a>00508 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,2,1&gt; E2 ## E2 ## E2 ## E1; }; \</span>
<a name="l00509"></a>00509 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P2,2,2,2,2&gt; E2 ## E2 ## E2 ## E2; }; </span>
<a name="l00510"></a>00510 <span class="preprocessor"></span>
<a name="l00511"></a>00511 <span class="preprocessor">#define _GLM_SWIZZLE4_2_MEMBERS(T,P,E0,E1,E2,E3) \</span>
<a name="l00512"></a>00512 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,0,0,-1,-2&gt; E0 ## E0; }; \</span>
<a name="l00513"></a>00513 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,0,1,-1,-2&gt; E0 ## E1; }; \</span>
<a name="l00514"></a>00514 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,0,2,-1,-2&gt; E0 ## E2; }; \</span>
<a name="l00515"></a>00515 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,0,3,-1,-2&gt; E0 ## E3; }; \</span>
<a name="l00516"></a>00516 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,1,0,-1,-2&gt; E1 ## E0; }; \</span>
<a name="l00517"></a>00517 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,1,1,-1,-2&gt; E1 ## E1; }; \</span>
<a name="l00518"></a>00518 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,1,2,-1,-2&gt; E1 ## E2; }; \</span>
<a name="l00519"></a>00519 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,1,3,-1,-2&gt; E1 ## E3; }; \</span>
<a name="l00520"></a>00520 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,2,0,-1,-2&gt; E2 ## E0; }; \</span>
<a name="l00521"></a>00521 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,2,1,-1,-2&gt; E2 ## E1; }; \</span>
<a name="l00522"></a>00522 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,2,2,-1,-2&gt; E2 ## E2; }; \</span>
<a name="l00523"></a>00523 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,2,3,-1,-2&gt; E2 ## E3; }; \</span>
<a name="l00524"></a>00524 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,3,0,-1,-2&gt; E3 ## E0; }; \</span>
<a name="l00525"></a>00525 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,3,1,-1,-2&gt; E3 ## E1; }; \</span>
<a name="l00526"></a>00526 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,3,2,-1,-2&gt; E3 ## E2; }; \</span>
<a name="l00527"></a>00527 <span class="preprocessor"> struct { glm::detail::swizzle&lt;2,T,P,3,3,-1,-2&gt; E3 ## E3; }; </span>
<a name="l00528"></a>00528 <span class="preprocessor"></span>
<a name="l00529"></a>00529 <span class="preprocessor">#define _GLM_SWIZZLE4_3_MEMBERS(T,P,E0,E1,E2,E3) \</span>
<a name="l00530"></a>00530 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,0,-1&gt; E0 ## E0 ## E0; }; \</span>
<a name="l00531"></a>00531 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,1,-1&gt; E0 ## E0 ## E1; }; \</span>
<a name="l00532"></a>00532 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,2,-1&gt; E0 ## E0 ## E2; }; \</span>
<a name="l00533"></a>00533 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,0,3,-1&gt; E0 ## E0 ## E3; }; \</span>
<a name="l00534"></a>00534 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,0,-1&gt; E0 ## E1 ## E0; }; \</span>
<a name="l00535"></a>00535 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,1,-1&gt; E0 ## E1 ## E1; }; \</span>
<a name="l00536"></a>00536 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,2,-1&gt; E0 ## E1 ## E2; }; \</span>
<a name="l00537"></a>00537 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,1,3,-1&gt; E0 ## E1 ## E3; }; \</span>
<a name="l00538"></a>00538 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,0,-1&gt; E0 ## E2 ## E0; }; \</span>
<a name="l00539"></a>00539 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,1,-1&gt; E0 ## E2 ## E1; }; \</span>
<a name="l00540"></a>00540 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,2,-1&gt; E0 ## E2 ## E2; }; \</span>
<a name="l00541"></a>00541 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,2,3,-1&gt; E0 ## E2 ## E3; }; \</span>
<a name="l00542"></a>00542 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,3,0,-1&gt; E0 ## E3 ## E0; }; \</span>
<a name="l00543"></a>00543 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,3,1,-1&gt; E0 ## E3 ## E1; }; \</span>
<a name="l00544"></a>00544 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,3,2,-1&gt; E0 ## E3 ## E2; }; \</span>
<a name="l00545"></a>00545 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,0,3,3,-1&gt; E0 ## E3 ## E3; }; \</span>
<a name="l00546"></a>00546 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,0,-1&gt; E1 ## E0 ## E0; }; \</span>
<a name="l00547"></a>00547 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,1,-1&gt; E1 ## E0 ## E1; }; \</span>
<a name="l00548"></a>00548 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,2,-1&gt; E1 ## E0 ## E2; }; \</span>
<a name="l00549"></a>00549 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,0,3,-1&gt; E1 ## E0 ## E3; }; \</span>
<a name="l00550"></a>00550 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,0,-1&gt; E1 ## E1 ## E0; }; \</span>
<a name="l00551"></a>00551 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,1,-1&gt; E1 ## E1 ## E1; }; \</span>
<a name="l00552"></a>00552 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,2,-1&gt; E1 ## E1 ## E2; }; \</span>
<a name="l00553"></a>00553 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,1,3,-1&gt; E1 ## E1 ## E3; }; \</span>
<a name="l00554"></a>00554 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,0,-1&gt; E1 ## E2 ## E0; }; \</span>
<a name="l00555"></a>00555 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,1,-1&gt; E1 ## E2 ## E1; }; \</span>
<a name="l00556"></a>00556 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,2,-1&gt; E1 ## E2 ## E2; }; \</span>
<a name="l00557"></a>00557 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,2,3,-1&gt; E1 ## E2 ## E3; }; \</span>
<a name="l00558"></a>00558 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,3,0,-1&gt; E1 ## E3 ## E0; }; \</span>
<a name="l00559"></a>00559 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,3,1,-1&gt; E1 ## E3 ## E1; }; \</span>
<a name="l00560"></a>00560 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,3,2,-1&gt; E1 ## E3 ## E2; }; \</span>
<a name="l00561"></a>00561 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,1,3,3,-1&gt; E1 ## E3 ## E3; }; \</span>
<a name="l00562"></a>00562 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,0,-1&gt; E2 ## E0 ## E0; }; \</span>
<a name="l00563"></a>00563 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,1,-1&gt; E2 ## E0 ## E1; }; \</span>
<a name="l00564"></a>00564 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,2,-1&gt; E2 ## E0 ## E2; }; \</span>
<a name="l00565"></a>00565 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,0,3,-1&gt; E2 ## E0 ## E3; }; \</span>
<a name="l00566"></a>00566 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,0,-1&gt; E2 ## E1 ## E0; }; \</span>
<a name="l00567"></a>00567 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,1,-1&gt; E2 ## E1 ## E1; }; \</span>
<a name="l00568"></a>00568 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,2,-1&gt; E2 ## E1 ## E2; }; \</span>
<a name="l00569"></a>00569 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,1,3,-1&gt; E2 ## E1 ## E3; }; \</span>
<a name="l00570"></a>00570 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,0,-1&gt; E2 ## E2 ## E0; }; \</span>
<a name="l00571"></a>00571 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,1,-1&gt; E2 ## E2 ## E1; }; \</span>
<a name="l00572"></a>00572 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,2,-1&gt; E2 ## E2 ## E2; }; \</span>
<a name="l00573"></a>00573 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,2,3,-1&gt; E2 ## E2 ## E3; }; \</span>
<a name="l00574"></a>00574 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,3,0,-1&gt; E2 ## E3 ## E0; }; \</span>
<a name="l00575"></a>00575 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,3,1,-1&gt; E2 ## E3 ## E1; }; \</span>
<a name="l00576"></a>00576 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,3,2,-1&gt; E2 ## E3 ## E2; }; \</span>
<a name="l00577"></a>00577 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,2,3,3,-1&gt; E2 ## E3 ## E3; }; \</span>
<a name="l00578"></a>00578 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,0,0,-1&gt; E3 ## E0 ## E0; }; \</span>
<a name="l00579"></a>00579 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,0,1,-1&gt; E3 ## E0 ## E1; }; \</span>
<a name="l00580"></a>00580 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,0,2,-1&gt; E3 ## E0 ## E2; }; \</span>
<a name="l00581"></a>00581 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,0,3,-1&gt; E3 ## E0 ## E3; }; \</span>
<a name="l00582"></a>00582 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,1,0,-1&gt; E3 ## E1 ## E0; }; \</span>
<a name="l00583"></a>00583 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,1,1,-1&gt; E3 ## E1 ## E1; }; \</span>
<a name="l00584"></a>00584 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,1,2,-1&gt; E3 ## E1 ## E2; }; \</span>
<a name="l00585"></a>00585 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,1,3,-1&gt; E3 ## E1 ## E3; }; \</span>
<a name="l00586"></a>00586 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,2,0,-1&gt; E3 ## E2 ## E0; }; \</span>
<a name="l00587"></a>00587 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,2,1,-1&gt; E3 ## E2 ## E1; }; \</span>
<a name="l00588"></a>00588 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,2,2,-1&gt; E3 ## E2 ## E2; }; \</span>
<a name="l00589"></a>00589 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,2,3,-1&gt; E3 ## E2 ## E3; }; \</span>
<a name="l00590"></a>00590 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,3,0,-1&gt; E3 ## E3 ## E0; }; \</span>
<a name="l00591"></a>00591 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,3,1,-1&gt; E3 ## E3 ## E1; }; \</span>
<a name="l00592"></a>00592 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,3,2,-1&gt; E3 ## E3 ## E2; }; \</span>
<a name="l00593"></a>00593 <span class="preprocessor"> struct { glm::detail::swizzle&lt;3,T,P,3,3,3,-1&gt; E3 ## E3 ## E3; }; </span>
<a name="l00594"></a>00594 <span class="preprocessor"></span>
<a name="l00595"></a>00595 <span class="preprocessor">#define _GLM_SWIZZLE4_4_MEMBERS(T,P,E0,E1,E2,E3) \</span>
<a name="l00596"></a>00596 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,0,0&gt; E0 ## E0 ## E0 ## E0; }; \</span>
<a name="l00597"></a>00597 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,0,1&gt; E0 ## E0 ## E0 ## E1; }; \</span>
<a name="l00598"></a>00598 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,0,2&gt; E0 ## E0 ## E0 ## E2; }; \</span>
<a name="l00599"></a>00599 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,0,3&gt; E0 ## E0 ## E0 ## E3; }; \</span>
<a name="l00600"></a>00600 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,1,0&gt; E0 ## E0 ## E1 ## E0; }; \</span>
<a name="l00601"></a>00601 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,1,1&gt; E0 ## E0 ## E1 ## E1; }; \</span>
<a name="l00602"></a>00602 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,1,2&gt; E0 ## E0 ## E1 ## E2; }; \</span>
<a name="l00603"></a>00603 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,1,3&gt; E0 ## E0 ## E1 ## E3; }; \</span>
<a name="l00604"></a>00604 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,2,0&gt; E0 ## E0 ## E2 ## E0; }; \</span>
<a name="l00605"></a>00605 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,2,1&gt; E0 ## E0 ## E2 ## E1; }; \</span>
<a name="l00606"></a>00606 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,2,2&gt; E0 ## E0 ## E2 ## E2; }; \</span>
<a name="l00607"></a>00607 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,2,3&gt; E0 ## E0 ## E2 ## E3; }; \</span>
<a name="l00608"></a>00608 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,3,0&gt; E0 ## E0 ## E3 ## E0; }; \</span>
<a name="l00609"></a>00609 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,3,1&gt; E0 ## E0 ## E3 ## E1; }; \</span>
<a name="l00610"></a>00610 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,3,2&gt; E0 ## E0 ## E3 ## E2; }; \</span>
<a name="l00611"></a>00611 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,0,3,3&gt; E0 ## E0 ## E3 ## E3; }; \</span>
<a name="l00612"></a>00612 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,0,0&gt; E0 ## E1 ## E0 ## E0; }; \</span>
<a name="l00613"></a>00613 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,0,1&gt; E0 ## E1 ## E0 ## E1; }; \</span>
<a name="l00614"></a>00614 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,0,2&gt; E0 ## E1 ## E0 ## E2; }; \</span>
<a name="l00615"></a>00615 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,0,3&gt; E0 ## E1 ## E0 ## E3; }; \</span>
<a name="l00616"></a>00616 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,1,0&gt; E0 ## E1 ## E1 ## E0; }; \</span>
<a name="l00617"></a>00617 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,1,1&gt; E0 ## E1 ## E1 ## E1; }; \</span>
<a name="l00618"></a>00618 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,1,2&gt; E0 ## E1 ## E1 ## E2; }; \</span>
<a name="l00619"></a>00619 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,1,3&gt; E0 ## E1 ## E1 ## E3; }; \</span>
<a name="l00620"></a>00620 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,2,0&gt; E0 ## E1 ## E2 ## E0; }; \</span>
<a name="l00621"></a>00621 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,2,1&gt; E0 ## E1 ## E2 ## E1; }; \</span>
<a name="l00622"></a>00622 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,2,2&gt; E0 ## E1 ## E2 ## E2; }; \</span>
<a name="l00623"></a>00623 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,2,3&gt; E0 ## E1 ## E2 ## E3; }; \</span>
<a name="l00624"></a>00624 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,3,0&gt; E0 ## E1 ## E3 ## E0; }; \</span>
<a name="l00625"></a>00625 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,3,1&gt; E0 ## E1 ## E3 ## E1; }; \</span>
<a name="l00626"></a>00626 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,3,2&gt; E0 ## E1 ## E3 ## E2; }; \</span>
<a name="l00627"></a>00627 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,1,3,3&gt; E0 ## E1 ## E3 ## E3; }; \</span>
<a name="l00628"></a>00628 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,0,0&gt; E0 ## E2 ## E0 ## E0; }; \</span>
<a name="l00629"></a>00629 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,0,1&gt; E0 ## E2 ## E0 ## E1; }; \</span>
<a name="l00630"></a>00630 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,0,2&gt; E0 ## E2 ## E0 ## E2; }; \</span>
<a name="l00631"></a>00631 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,0,3&gt; E0 ## E2 ## E0 ## E3; }; \</span>
<a name="l00632"></a>00632 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,1,0&gt; E0 ## E2 ## E1 ## E0; }; \</span>
<a name="l00633"></a>00633 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,1,1&gt; E0 ## E2 ## E1 ## E1; }; \</span>
<a name="l00634"></a>00634 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,1,2&gt; E0 ## E2 ## E1 ## E2; }; \</span>
<a name="l00635"></a>00635 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,1,3&gt; E0 ## E2 ## E1 ## E3; }; \</span>
<a name="l00636"></a>00636 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,2,0&gt; E0 ## E2 ## E2 ## E0; }; \</span>
<a name="l00637"></a>00637 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,2,1&gt; E0 ## E2 ## E2 ## E1; }; \</span>
<a name="l00638"></a>00638 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,2,2&gt; E0 ## E2 ## E2 ## E2; }; \</span>
<a name="l00639"></a>00639 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,2,3&gt; E0 ## E2 ## E2 ## E3; }; \</span>
<a name="l00640"></a>00640 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,3,0&gt; E0 ## E2 ## E3 ## E0; }; \</span>
<a name="l00641"></a>00641 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,3,1&gt; E0 ## E2 ## E3 ## E1; }; \</span>
<a name="l00642"></a>00642 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,3,2&gt; E0 ## E2 ## E3 ## E2; }; \</span>
<a name="l00643"></a>00643 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,0,2,3,3&gt; E0 ## E2 ## E3 ## E3; }; \</span>
<a name="l00644"></a>00644 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,0,0&gt; E1 ## E0 ## E0 ## E0; }; \</span>
<a name="l00645"></a>00645 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,0,1&gt; E1 ## E0 ## E0 ## E1; }; \</span>
<a name="l00646"></a>00646 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,0,2&gt; E1 ## E0 ## E0 ## E2; }; \</span>
<a name="l00647"></a>00647 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,0,3&gt; E1 ## E0 ## E0 ## E3; }; \</span>
<a name="l00648"></a>00648 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,1,0&gt; E1 ## E0 ## E1 ## E0; }; \</span>
<a name="l00649"></a>00649 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,1,1&gt; E1 ## E0 ## E1 ## E1; }; \</span>
<a name="l00650"></a>00650 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,1,2&gt; E1 ## E0 ## E1 ## E2; }; \</span>
<a name="l00651"></a>00651 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,1,3&gt; E1 ## E0 ## E1 ## E3; }; \</span>
<a name="l00652"></a>00652 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,2,0&gt; E1 ## E0 ## E2 ## E0; }; \</span>
<a name="l00653"></a>00653 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,2,1&gt; E1 ## E0 ## E2 ## E1; }; \</span>
<a name="l00654"></a>00654 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,2,2&gt; E1 ## E0 ## E2 ## E2; }; \</span>
<a name="l00655"></a>00655 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,2,3&gt; E1 ## E0 ## E2 ## E3; }; \</span>
<a name="l00656"></a>00656 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,3,0&gt; E1 ## E0 ## E3 ## E0; }; \</span>
<a name="l00657"></a>00657 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,3,1&gt; E1 ## E0 ## E3 ## E1; }; \</span>
<a name="l00658"></a>00658 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,3,2&gt; E1 ## E0 ## E3 ## E2; }; \</span>
<a name="l00659"></a>00659 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,0,3,3&gt; E1 ## E0 ## E3 ## E3; }; \</span>
<a name="l00660"></a>00660 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,0,0&gt; E1 ## E1 ## E0 ## E0; }; \</span>
<a name="l00661"></a>00661 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,0,1&gt; E1 ## E1 ## E0 ## E1; }; \</span>
<a name="l00662"></a>00662 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,0,2&gt; E1 ## E1 ## E0 ## E2; }; \</span>
<a name="l00663"></a>00663 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,0,3&gt; E1 ## E1 ## E0 ## E3; }; \</span>
<a name="l00664"></a>00664 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,1,0&gt; E1 ## E1 ## E1 ## E0; }; \</span>
<a name="l00665"></a>00665 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,1,1&gt; E1 ## E1 ## E1 ## E1; }; \</span>
<a name="l00666"></a>00666 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,1,2&gt; E1 ## E1 ## E1 ## E2; }; \</span>
<a name="l00667"></a>00667 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,1,3&gt; E1 ## E1 ## E1 ## E3; }; \</span>
<a name="l00668"></a>00668 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,2,0&gt; E1 ## E1 ## E2 ## E0; }; \</span>
<a name="l00669"></a>00669 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,2,1&gt; E1 ## E1 ## E2 ## E1; }; \</span>
<a name="l00670"></a>00670 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,2,2&gt; E1 ## E1 ## E2 ## E2; }; \</span>
<a name="l00671"></a>00671 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,2,3&gt; E1 ## E1 ## E2 ## E3; }; \</span>
<a name="l00672"></a>00672 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,3,0&gt; E1 ## E1 ## E3 ## E0; }; \</span>
<a name="l00673"></a>00673 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,3,1&gt; E1 ## E1 ## E3 ## E1; }; \</span>
<a name="l00674"></a>00674 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,3,2&gt; E1 ## E1 ## E3 ## E2; }; \</span>
<a name="l00675"></a>00675 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,1,3,3&gt; E1 ## E1 ## E3 ## E3; }; \</span>
<a name="l00676"></a>00676 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,0,0&gt; E1 ## E2 ## E0 ## E0; }; \</span>
<a name="l00677"></a>00677 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,0,1&gt; E1 ## E2 ## E0 ## E1; }; \</span>
<a name="l00678"></a>00678 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,0,2&gt; E1 ## E2 ## E0 ## E2; }; \</span>
<a name="l00679"></a>00679 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,0,3&gt; E1 ## E2 ## E0 ## E3; }; \</span>
<a name="l00680"></a>00680 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,1,0&gt; E1 ## E2 ## E1 ## E0; }; \</span>
<a name="l00681"></a>00681 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,1,1&gt; E1 ## E2 ## E1 ## E1; }; \</span>
<a name="l00682"></a>00682 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,1,2&gt; E1 ## E2 ## E1 ## E2; }; \</span>
<a name="l00683"></a>00683 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,1,3&gt; E1 ## E2 ## E1 ## E3; }; \</span>
<a name="l00684"></a>00684 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,2,0&gt; E1 ## E2 ## E2 ## E0; }; \</span>
<a name="l00685"></a>00685 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,2,1&gt; E1 ## E2 ## E2 ## E1; }; \</span>
<a name="l00686"></a>00686 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,2,2&gt; E1 ## E2 ## E2 ## E2; }; \</span>
<a name="l00687"></a>00687 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,2,3&gt; E1 ## E2 ## E2 ## E3; }; \</span>
<a name="l00688"></a>00688 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,3,0&gt; E1 ## E2 ## E3 ## E0; }; \</span>
<a name="l00689"></a>00689 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,3,1&gt; E1 ## E2 ## E3 ## E1; }; \</span>
<a name="l00690"></a>00690 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,3,2&gt; E1 ## E2 ## E3 ## E2; }; \</span>
<a name="l00691"></a>00691 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,2,3,3&gt; E1 ## E2 ## E3 ## E3; }; \</span>
<a name="l00692"></a>00692 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,0,0&gt; E1 ## E3 ## E0 ## E0; }; \</span>
<a name="l00693"></a>00693 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,0,1&gt; E1 ## E3 ## E0 ## E1; }; \</span>
<a name="l00694"></a>00694 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,0,2&gt; E1 ## E3 ## E0 ## E2; }; \</span>
<a name="l00695"></a>00695 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,0,3&gt; E1 ## E3 ## E0 ## E3; }; \</span>
<a name="l00696"></a>00696 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,1,0&gt; E1 ## E3 ## E1 ## E0; }; \</span>
<a name="l00697"></a>00697 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,1,1&gt; E1 ## E3 ## E1 ## E1; }; \</span>
<a name="l00698"></a>00698 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,1,2&gt; E1 ## E3 ## E1 ## E2; }; \</span>
<a name="l00699"></a>00699 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,1,3&gt; E1 ## E3 ## E1 ## E3; }; \</span>
<a name="l00700"></a>00700 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,2,0&gt; E1 ## E3 ## E2 ## E0; }; \</span>
<a name="l00701"></a>00701 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,2,1&gt; E1 ## E3 ## E2 ## E1; }; \</span>
<a name="l00702"></a>00702 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,2,2&gt; E1 ## E3 ## E2 ## E2; }; \</span>
<a name="l00703"></a>00703 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,2,3&gt; E1 ## E3 ## E2 ## E3; }; \</span>
<a name="l00704"></a>00704 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,3,0&gt; E1 ## E3 ## E3 ## E0; }; \</span>
<a name="l00705"></a>00705 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,3,1&gt; E1 ## E3 ## E3 ## E1; }; \</span>
<a name="l00706"></a>00706 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,3,2&gt; E1 ## E3 ## E3 ## E2; }; \</span>
<a name="l00707"></a>00707 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,1,3,3,3&gt; E1 ## E3 ## E3 ## E3; }; \</span>
<a name="l00708"></a>00708 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,0,0&gt; E2 ## E0 ## E0 ## E0; }; \</span>
<a name="l00709"></a>00709 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,0,1&gt; E2 ## E0 ## E0 ## E1; }; \</span>
<a name="l00710"></a>00710 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,0,2&gt; E2 ## E0 ## E0 ## E2; }; \</span>
<a name="l00711"></a>00711 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,0,3&gt; E2 ## E0 ## E0 ## E3; }; \</span>
<a name="l00712"></a>00712 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,1,0&gt; E2 ## E0 ## E1 ## E0; }; \</span>
<a name="l00713"></a>00713 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,1,1&gt; E2 ## E0 ## E1 ## E1; }; \</span>
<a name="l00714"></a>00714 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,1,2&gt; E2 ## E0 ## E1 ## E2; }; \</span>
<a name="l00715"></a>00715 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,1,3&gt; E2 ## E0 ## E1 ## E3; }; \</span>
<a name="l00716"></a>00716 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,2,0&gt; E2 ## E0 ## E2 ## E0; }; \</span>
<a name="l00717"></a>00717 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,2,1&gt; E2 ## E0 ## E2 ## E1; }; \</span>
<a name="l00718"></a>00718 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,2,2&gt; E2 ## E0 ## E2 ## E2; }; \</span>
<a name="l00719"></a>00719 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,2,3&gt; E2 ## E0 ## E2 ## E3; }; \</span>
<a name="l00720"></a>00720 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,3,0&gt; E2 ## E0 ## E3 ## E0; }; \</span>
<a name="l00721"></a>00721 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,3,1&gt; E2 ## E0 ## E3 ## E1; }; \</span>
<a name="l00722"></a>00722 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,3,2&gt; E2 ## E0 ## E3 ## E2; }; \</span>
<a name="l00723"></a>00723 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,0,3,3&gt; E2 ## E0 ## E3 ## E3; }; \</span>
<a name="l00724"></a>00724 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,0,0&gt; E2 ## E1 ## E0 ## E0; }; \</span>
<a name="l00725"></a>00725 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,0,1&gt; E2 ## E1 ## E0 ## E1; }; \</span>
<a name="l00726"></a>00726 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,0,2&gt; E2 ## E1 ## E0 ## E2; }; \</span>
<a name="l00727"></a>00727 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,0,3&gt; E2 ## E1 ## E0 ## E3; }; \</span>
<a name="l00728"></a>00728 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,1,0&gt; E2 ## E1 ## E1 ## E0; }; \</span>
<a name="l00729"></a>00729 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,1,1&gt; E2 ## E1 ## E1 ## E1; }; \</span>
<a name="l00730"></a>00730 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,1,2&gt; E2 ## E1 ## E1 ## E2; }; \</span>
<a name="l00731"></a>00731 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,1,3&gt; E2 ## E1 ## E1 ## E3; }; \</span>
<a name="l00732"></a>00732 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,2,0&gt; E2 ## E1 ## E2 ## E0; }; \</span>
<a name="l00733"></a>00733 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,2,1&gt; E2 ## E1 ## E2 ## E1; }; \</span>
<a name="l00734"></a>00734 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,2,2&gt; E2 ## E1 ## E2 ## E2; }; \</span>
<a name="l00735"></a>00735 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,2,3&gt; E2 ## E1 ## E2 ## E3; }; \</span>
<a name="l00736"></a>00736 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,3,0&gt; E2 ## E1 ## E3 ## E0; }; \</span>
<a name="l00737"></a>00737 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,3,1&gt; E2 ## E1 ## E3 ## E1; }; \</span>
<a name="l00738"></a>00738 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,3,2&gt; E2 ## E1 ## E3 ## E2; }; \</span>
<a name="l00739"></a>00739 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,1,3,3&gt; E2 ## E1 ## E3 ## E3; }; \</span>
<a name="l00740"></a>00740 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,0,0&gt; E2 ## E2 ## E0 ## E0; }; \</span>
<a name="l00741"></a>00741 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,0,1&gt; E2 ## E2 ## E0 ## E1; }; \</span>
<a name="l00742"></a>00742 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,0,2&gt; E2 ## E2 ## E0 ## E2; }; \</span>
<a name="l00743"></a>00743 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,0,3&gt; E2 ## E2 ## E0 ## E3; }; \</span>
<a name="l00744"></a>00744 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,1,0&gt; E2 ## E2 ## E1 ## E0; }; \</span>
<a name="l00745"></a>00745 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,1,1&gt; E2 ## E2 ## E1 ## E1; }; \</span>
<a name="l00746"></a>00746 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,1,2&gt; E2 ## E2 ## E1 ## E2; }; \</span>
<a name="l00747"></a>00747 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,1,3&gt; E2 ## E2 ## E1 ## E3; }; \</span>
<a name="l00748"></a>00748 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,2,0&gt; E2 ## E2 ## E2 ## E0; }; \</span>
<a name="l00749"></a>00749 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,2,1&gt; E2 ## E2 ## E2 ## E1; }; \</span>
<a name="l00750"></a>00750 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,2,2&gt; E2 ## E2 ## E2 ## E2; }; \</span>
<a name="l00751"></a>00751 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,2,3&gt; E2 ## E2 ## E2 ## E3; }; \</span>
<a name="l00752"></a>00752 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,3,0&gt; E2 ## E2 ## E3 ## E0; }; \</span>
<a name="l00753"></a>00753 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,3,1&gt; E2 ## E2 ## E3 ## E1; }; \</span>
<a name="l00754"></a>00754 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,3,2&gt; E2 ## E2 ## E3 ## E2; }; \</span>
<a name="l00755"></a>00755 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,2,3,3&gt; E2 ## E2 ## E3 ## E3; }; \</span>
<a name="l00756"></a>00756 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,0,0&gt; E2 ## E3 ## E0 ## E0; }; \</span>
<a name="l00757"></a>00757 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,0,1&gt; E2 ## E3 ## E0 ## E1; }; \</span>
<a name="l00758"></a>00758 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,0,2&gt; E2 ## E3 ## E0 ## E2; }; \</span>
<a name="l00759"></a>00759 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,0,3&gt; E2 ## E3 ## E0 ## E3; }; \</span>
<a name="l00760"></a>00760 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,1,0&gt; E2 ## E3 ## E1 ## E0; }; \</span>
<a name="l00761"></a>00761 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,1,1&gt; E2 ## E3 ## E1 ## E1; }; \</span>
<a name="l00762"></a>00762 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,1,2&gt; E2 ## E3 ## E1 ## E2; }; \</span>
<a name="l00763"></a>00763 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,1,3&gt; E2 ## E3 ## E1 ## E3; }; \</span>
<a name="l00764"></a>00764 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,2,0&gt; E2 ## E3 ## E2 ## E0; }; \</span>
<a name="l00765"></a>00765 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,2,1&gt; E2 ## E3 ## E2 ## E1; }; \</span>
<a name="l00766"></a>00766 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,2,2&gt; E2 ## E3 ## E2 ## E2; }; \</span>
<a name="l00767"></a>00767 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,2,3&gt; E2 ## E3 ## E2 ## E3; }; \</span>
<a name="l00768"></a>00768 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,3,0&gt; E2 ## E3 ## E3 ## E0; }; \</span>
<a name="l00769"></a>00769 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,3,1&gt; E2 ## E3 ## E3 ## E1; }; \</span>
<a name="l00770"></a>00770 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,3,2&gt; E2 ## E3 ## E3 ## E2; }; \</span>
<a name="l00771"></a>00771 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,2,3,3,3&gt; E2 ## E3 ## E3 ## E3; }; \</span>
<a name="l00772"></a>00772 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,0,0&gt; E3 ## E0 ## E0 ## E0; }; \</span>
<a name="l00773"></a>00773 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,0,1&gt; E3 ## E0 ## E0 ## E1; }; \</span>
<a name="l00774"></a>00774 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,0,2&gt; E3 ## E0 ## E0 ## E2; }; \</span>
<a name="l00775"></a>00775 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,0,3&gt; E3 ## E0 ## E0 ## E3; }; \</span>
<a name="l00776"></a>00776 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,1,0&gt; E3 ## E0 ## E1 ## E0; }; \</span>
<a name="l00777"></a>00777 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,1,1&gt; E3 ## E0 ## E1 ## E1; }; \</span>
<a name="l00778"></a>00778 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,1,2&gt; E3 ## E0 ## E1 ## E2; }; \</span>
<a name="l00779"></a>00779 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,1,3&gt; E3 ## E0 ## E1 ## E3; }; \</span>
<a name="l00780"></a>00780 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,2,0&gt; E3 ## E0 ## E2 ## E0; }; \</span>
<a name="l00781"></a>00781 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,2,1&gt; E3 ## E0 ## E2 ## E1; }; \</span>
<a name="l00782"></a>00782 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,2,2&gt; E3 ## E0 ## E2 ## E2; }; \</span>
<a name="l00783"></a>00783 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,2,3&gt; E3 ## E0 ## E2 ## E3; }; \</span>
<a name="l00784"></a>00784 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,3,0&gt; E3 ## E0 ## E3 ## E0; }; \</span>
<a name="l00785"></a>00785 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,3,1&gt; E3 ## E0 ## E3 ## E1; }; \</span>
<a name="l00786"></a>00786 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,3,2&gt; E3 ## E0 ## E3 ## E2; }; \</span>
<a name="l00787"></a>00787 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,0,3,3&gt; E3 ## E0 ## E3 ## E3; }; \</span>
<a name="l00788"></a>00788 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,0,0&gt; E3 ## E1 ## E0 ## E0; }; \</span>
<a name="l00789"></a>00789 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,0,1&gt; E3 ## E1 ## E0 ## E1; }; \</span>
<a name="l00790"></a>00790 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,0,2&gt; E3 ## E1 ## E0 ## E2; }; \</span>
<a name="l00791"></a>00791 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,0,3&gt; E3 ## E1 ## E0 ## E3; }; \</span>
<a name="l00792"></a>00792 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,1,0&gt; E3 ## E1 ## E1 ## E0; }; \</span>
<a name="l00793"></a>00793 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,1,1&gt; E3 ## E1 ## E1 ## E1; }; \</span>
<a name="l00794"></a>00794 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,1,2&gt; E3 ## E1 ## E1 ## E2; }; \</span>
<a name="l00795"></a>00795 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,1,3&gt; E3 ## E1 ## E1 ## E3; }; \</span>
<a name="l00796"></a>00796 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,2,0&gt; E3 ## E1 ## E2 ## E0; }; \</span>
<a name="l00797"></a>00797 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,2,1&gt; E3 ## E1 ## E2 ## E1; }; \</span>
<a name="l00798"></a>00798 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,2,2&gt; E3 ## E1 ## E2 ## E2; }; \</span>
<a name="l00799"></a>00799 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,2,3&gt; E3 ## E1 ## E2 ## E3; }; \</span>
<a name="l00800"></a>00800 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,3,0&gt; E3 ## E1 ## E3 ## E0; }; \</span>
<a name="l00801"></a>00801 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,3,1&gt; E3 ## E1 ## E3 ## E1; }; \</span>
<a name="l00802"></a>00802 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,3,2&gt; E3 ## E1 ## E3 ## E2; }; \</span>
<a name="l00803"></a>00803 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,1,3,3&gt; E3 ## E1 ## E3 ## E3; }; \</span>
<a name="l00804"></a>00804 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,0,0&gt; E3 ## E2 ## E0 ## E0; }; \</span>
<a name="l00805"></a>00805 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,0,1&gt; E3 ## E2 ## E0 ## E1; }; \</span>
<a name="l00806"></a>00806 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,0,2&gt; E3 ## E2 ## E0 ## E2; }; \</span>
<a name="l00807"></a>00807 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,0,3&gt; E3 ## E2 ## E0 ## E3; }; \</span>
<a name="l00808"></a>00808 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,1,0&gt; E3 ## E2 ## E1 ## E0; }; \</span>
<a name="l00809"></a>00809 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,1,1&gt; E3 ## E2 ## E1 ## E1; }; \</span>
<a name="l00810"></a>00810 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,1,2&gt; E3 ## E2 ## E1 ## E2; }; \</span>
<a name="l00811"></a>00811 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,1,3&gt; E3 ## E2 ## E1 ## E3; }; \</span>
<a name="l00812"></a>00812 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,2,0&gt; E3 ## E2 ## E2 ## E0; }; \</span>
<a name="l00813"></a>00813 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,2,1&gt; E3 ## E2 ## E2 ## E1; }; \</span>
<a name="l00814"></a>00814 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,2,2&gt; E3 ## E2 ## E2 ## E2; }; \</span>
<a name="l00815"></a>00815 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,2,3&gt; E3 ## E2 ## E2 ## E3; }; \</span>
<a name="l00816"></a>00816 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,3,0&gt; E3 ## E2 ## E3 ## E0; }; \</span>
<a name="l00817"></a>00817 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,3,1&gt; E3 ## E2 ## E3 ## E1; }; \</span>
<a name="l00818"></a>00818 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,3,2&gt; E3 ## E2 ## E3 ## E2; }; \</span>
<a name="l00819"></a>00819 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,2,3,3&gt; E3 ## E2 ## E3 ## E3; }; \</span>
<a name="l00820"></a>00820 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,0,0&gt; E3 ## E3 ## E0 ## E0; }; \</span>
<a name="l00821"></a>00821 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,0,1&gt; E3 ## E3 ## E0 ## E1; }; \</span>
<a name="l00822"></a>00822 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,0,2&gt; E3 ## E3 ## E0 ## E2; }; \</span>
<a name="l00823"></a>00823 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,0,3&gt; E3 ## E3 ## E0 ## E3; }; \</span>
<a name="l00824"></a>00824 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,1,0&gt; E3 ## E3 ## E1 ## E0; }; \</span>
<a name="l00825"></a>00825 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,1,1&gt; E3 ## E3 ## E1 ## E1; }; \</span>
<a name="l00826"></a>00826 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,1,2&gt; E3 ## E3 ## E1 ## E2; }; \</span>
<a name="l00827"></a>00827 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,1,3&gt; E3 ## E3 ## E1 ## E3; }; \</span>
<a name="l00828"></a>00828 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,2,0&gt; E3 ## E3 ## E2 ## E0; }; \</span>
<a name="l00829"></a>00829 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,2,1&gt; E3 ## E3 ## E2 ## E1; }; \</span>
<a name="l00830"></a>00830 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,2,2&gt; E3 ## E3 ## E2 ## E2; }; \</span>
<a name="l00831"></a>00831 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,2,3&gt; E3 ## E3 ## E2 ## E3; }; \</span>
<a name="l00832"></a>00832 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,3,0&gt; E3 ## E3 ## E3 ## E0; }; \</span>
<a name="l00833"></a>00833 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,3,1&gt; E3 ## E3 ## E3 ## E1; }; \</span>
<a name="l00834"></a>00834 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,3,2&gt; E3 ## E3 ## E3 ## E2; }; \</span>
<a name="l00835"></a>00835 <span class="preprocessor"> struct { glm::detail::swizzle&lt;4,T,P,3,3,3,3&gt; E3 ## E3 ## E3 ## E3; }; </span>
<a name="l00836"></a>00836 <span class="preprocessor"></span>
<a name="l00837"></a>00837 <span class="preprocessor">#endif//glm_core_swizzle</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_swizzle_func.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_swizzle_func.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00006_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2011-10-16 / 2011-10-16 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00006_source.html">_swizzle_func.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,853 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_swizzle_func.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_swizzle_func.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00006.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_core_swizzle_func</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_swizzle_func</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \</span>
<a name="l00033"></a>00033 <span class="preprocessor"> SWIZZLED_TYPE&lt;TMPL_TYPE&gt; A ## B() CONST \</span>
<a name="l00034"></a>00034 <span class="preprocessor"> { \</span>
<a name="l00035"></a>00035 <span class="preprocessor"> return SWIZZLED_TYPE&lt;TMPL_TYPE&gt;(this-&gt;A, this-&gt;B); \</span>
<a name="l00036"></a>00036 <span class="preprocessor"> }</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \</span>
<a name="l00039"></a>00039 <span class="preprocessor"> SWIZZLED_TYPE&lt;TMPL_TYPE&gt; A ## B ## C() CONST \</span>
<a name="l00040"></a>00040 <span class="preprocessor"> { \</span>
<a name="l00041"></a>00041 <span class="preprocessor"> return SWIZZLED_TYPE&lt;TMPL_TYPE&gt;(this-&gt;A, this-&gt;B, this-&gt;C); \</span>
<a name="l00042"></a>00042 <span class="preprocessor"> }</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span>
<a name="l00044"></a>00044 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \</span>
<a name="l00045"></a>00045 <span class="preprocessor"> SWIZZLED_TYPE&lt;TMPL_TYPE&gt; A ## B ## C ## D() CONST \</span>
<a name="l00046"></a>00046 <span class="preprocessor"> { \</span>
<a name="l00047"></a>00047 <span class="preprocessor"> return SWIZZLED_TYPE&lt;TMPL_TYPE&gt;(this-&gt;A, this-&gt;B, this-&gt;C, this-&gt;D); \</span>
<a name="l00048"></a>00048 <span class="preprocessor"> }</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \</span>
<a name="l00051"></a>00051 <span class="preprocessor"> template &lt;typename TMPL_TYPE&gt; \</span>
<a name="l00052"></a>00052 <span class="preprocessor"> SWIZZLED_TYPE&lt;TMPL_TYPE&gt; CLASS_TYPE&lt;TMPL_TYPE&gt;::A ## B() CONST \</span>
<a name="l00053"></a>00053 <span class="preprocessor"> { \</span>
<a name="l00054"></a>00054 <span class="preprocessor"> return SWIZZLED_TYPE&lt;TMPL_TYPE&gt;(this-&gt;A, this-&gt;B); \</span>
<a name="l00055"></a>00055 <span class="preprocessor"> }</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a>00057 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \</span>
<a name="l00058"></a>00058 <span class="preprocessor"> template &lt;typename TMPL_TYPE&gt; \</span>
<a name="l00059"></a>00059 <span class="preprocessor"> SWIZZLED_TYPE&lt;TMPL_TYPE&gt; CLASS_TYPE&lt;TMPL_TYPE&gt;::A ## B ## C() CONST \</span>
<a name="l00060"></a>00060 <span class="preprocessor"> { \</span>
<a name="l00061"></a>00061 <span class="preprocessor"> return SWIZZLED_TYPE&lt;TMPL_TYPE&gt;(this-&gt;A, this-&gt;B, this-&gt;C); \</span>
<a name="l00062"></a>00062 <span class="preprocessor"> }</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span>
<a name="l00064"></a>00064 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \</span>
<a name="l00065"></a>00065 <span class="preprocessor"> template &lt;typename TMPL_TYPE&gt; \</span>
<a name="l00066"></a>00066 <span class="preprocessor"> SWIZZLED_TYPE&lt;TMPL_TYPE&gt; CLASS_TYPE&lt;TMPL_TYPE&gt;::A ## B ## C ## D() CONST \</span>
<a name="l00067"></a>00067 <span class="preprocessor"> { \</span>
<a name="l00068"></a>00068 <span class="preprocessor"> return SWIZZLED_TYPE&lt;TMPL_TYPE&gt;(this-&gt;A, this-&gt;B, this-&gt;C, this-&gt;D); \</span>
<a name="l00069"></a>00069 <span class="preprocessor"> }</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span>
<a name="l00071"></a>00071 <span class="preprocessor">#define GLM_MUTABLE</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span>
<a name="l00073"></a>00073 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span>
<a name="l00074"></a>00074 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span>
<a name="l00075"></a>00075 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span>
<a name="l00077"></a>00077 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \</span>
<a name="l00078"></a>00078 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \</span>
<a name="l00079"></a>00079 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \</span>
<a name="l00080"></a>00080 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span>
<a name="l00082"></a>00082 <span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)</span>
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span>
<a name="l00085"></a>00085 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span>
<a name="l00086"></a>00086 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \</span>
<a name="l00087"></a>00087 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \</span>
<a name="l00088"></a>00088 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \</span>
<a name="l00089"></a>00089 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \</span>
<a name="l00090"></a>00090 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span>
<a name="l00092"></a>00092 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span>
<a name="l00093"></a>00093 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \</span>
<a name="l00094"></a>00094 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \</span>
<a name="l00095"></a>00095 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \</span>
<a name="l00096"></a>00096 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \</span>
<a name="l00097"></a>00097 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \</span>
<a name="l00098"></a>00098 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span>
<a name="l00100"></a>00100 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span>
<a name="l00101"></a>00101 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span>
<a name="l00102"></a>00102 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \</span>
<a name="l00105"></a>00105 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \</span>
<a name="l00106"></a>00106 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \</span>
<a name="l00107"></a>00107 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, q)</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span>
<a name="l00109"></a>00109 <span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)</span>
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span>
<a name="l00112"></a>00112 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span>
<a name="l00113"></a>00113 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \</span>
<a name="l00114"></a>00114 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \</span>
<a name="l00115"></a>00115 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \</span>
<a name="l00116"></a>00116 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \</span>
<a name="l00117"></a>00117 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \</span>
<a name="l00118"></a>00118 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \</span>
<a name="l00119"></a>00119 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \</span>
<a name="l00120"></a>00120 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \</span>
<a name="l00121"></a>00121 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \</span>
<a name="l00122"></a>00122 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \</span>
<a name="l00123"></a>00123 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span>
<a name="l00125"></a>00125 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span>
<a name="l00126"></a>00126 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \</span>
<a name="l00127"></a>00127 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \</span>
<a name="l00128"></a>00128 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \</span>
<a name="l00129"></a>00129 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \</span>
<a name="l00130"></a>00130 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \</span>
<a name="l00131"></a>00131 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \</span>
<a name="l00132"></a>00132 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \</span>
<a name="l00133"></a>00133 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \</span>
<a name="l00134"></a>00134 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \</span>
<a name="l00135"></a>00135 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \</span>
<a name="l00136"></a>00136 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \</span>
<a name="l00137"></a>00137 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \</span>
<a name="l00138"></a>00138 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \</span>
<a name="l00139"></a>00139 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \</span>
<a name="l00140"></a>00140 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \</span>
<a name="l00141"></a>00141 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \</span>
<a name="l00142"></a>00142 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \</span>
<a name="l00143"></a>00143 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \</span>
<a name="l00144"></a>00144 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \</span>
<a name="l00145"></a>00145 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \</span>
<a name="l00146"></a>00146 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \</span>
<a name="l00147"></a>00147 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \</span>
<a name="l00148"></a>00148 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \</span>
<a name="l00149"></a>00149 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span>
<a name="l00151"></a>00151 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span>
<a name="l00152"></a>00152 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \</span>
<a name="l00153"></a>00153 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \</span>
<a name="l00154"></a>00154 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \</span>
<a name="l00155"></a>00155 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \</span>
<a name="l00156"></a>00156 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \</span>
<a name="l00157"></a>00157 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \</span>
<a name="l00158"></a>00158 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \</span>
<a name="l00159"></a>00159 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \</span>
<a name="l00160"></a>00160 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \</span>
<a name="l00161"></a>00161 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \</span>
<a name="l00162"></a>00162 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \</span>
<a name="l00163"></a>00163 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \</span>
<a name="l00164"></a>00164 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \</span>
<a name="l00165"></a>00165 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \</span>
<a name="l00166"></a>00166 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \</span>
<a name="l00167"></a>00167 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \</span>
<a name="l00168"></a>00168 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \</span>
<a name="l00169"></a>00169 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \</span>
<a name="l00170"></a>00170 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \</span>
<a name="l00171"></a>00171 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \</span>
<a name="l00172"></a>00172 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \</span>
<a name="l00173"></a>00173 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \</span>
<a name="l00174"></a>00174 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \</span>
<a name="l00175"></a>00175 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)</span>
<a name="l00176"></a>00176 <span class="preprocessor"></span>
<a name="l00177"></a>00177 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \</span>
<a name="l00178"></a>00178 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \</span>
<a name="l00179"></a>00179 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \</span>
<a name="l00180"></a>00180 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)</span>
<a name="l00181"></a>00181 <span class="preprocessor"></span>
<a name="l00182"></a>00182 <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span>
<a name="l00183"></a>00183 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \</span>
<a name="l00184"></a>00184 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \</span>
<a name="l00185"></a>00185 <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, q, p)</span>
<a name="l00186"></a>00186 <span class="preprocessor"></span>
<a name="l00187"></a>00187 <span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)</span>
<a name="l00188"></a>00188
<a name="l00189"></a>00189 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span>
<a name="l00190"></a>00190 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span>
<a name="l00191"></a>00191 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span>
<a name="l00192"></a>00192 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span>
<a name="l00193"></a>00193 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)</span>
<a name="l00194"></a>00194 <span class="preprocessor"></span>
<a name="l00195"></a>00195 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span>
<a name="l00196"></a>00196 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span>
<a name="l00197"></a>00197 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span>
<a name="l00198"></a>00198 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span>
<a name="l00199"></a>00199 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span>
<a name="l00200"></a>00200 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span>
<a name="l00201"></a>00201 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span>
<a name="l00202"></a>00202 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span>
<a name="l00203"></a>00203 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)</span>
<a name="l00204"></a>00204 <span class="preprocessor"></span>
<a name="l00205"></a>00205 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span>
<a name="l00206"></a>00206 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span>
<a name="l00207"></a>00207 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span>
<a name="l00208"></a>00208 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span>
<a name="l00209"></a>00209 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span>
<a name="l00210"></a>00210 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span>
<a name="l00211"></a>00211 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span>
<a name="l00212"></a>00212 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span>
<a name="l00213"></a>00213 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span>
<a name="l00214"></a>00214 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span>
<a name="l00215"></a>00215 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span>
<a name="l00216"></a>00216 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span>
<a name="l00217"></a>00217 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span>
<a name="l00218"></a>00218 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span>
<a name="l00219"></a>00219 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span>
<a name="l00220"></a>00220 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span>
<a name="l00221"></a>00221 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)</span>
<a name="l00222"></a>00222 <span class="preprocessor"></span>
<a name="l00223"></a>00223 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \</span>
<a name="l00224"></a>00224 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \</span>
<a name="l00225"></a>00225 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \</span>
<a name="l00226"></a>00226 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)</span>
<a name="l00227"></a>00227 <span class="preprocessor"></span>
<a name="l00228"></a>00228 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span>
<a name="l00229"></a>00229 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y) \</span>
<a name="l00230"></a>00230 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g) \</span>
<a name="l00231"></a>00231 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)</span>
<a name="l00232"></a>00232 <span class="preprocessor"></span>
<a name="l00233"></a>00233 <span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)</span>
<a name="l00234"></a>00234
<a name="l00235"></a>00235 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span>
<a name="l00236"></a>00236 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span>
<a name="l00237"></a>00237 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span>
<a name="l00238"></a>00238 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \</span>
<a name="l00239"></a>00239 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span>
<a name="l00240"></a>00240 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \</span>
<a name="l00241"></a>00241 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \</span>
<a name="l00242"></a>00242 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \</span>
<a name="l00243"></a>00243 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \</span>
<a name="l00244"></a>00244 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)</span>
<a name="l00245"></a>00245 <span class="preprocessor"></span>
<a name="l00246"></a>00246 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span>
<a name="l00247"></a>00247 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span>
<a name="l00248"></a>00248 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span>
<a name="l00249"></a>00249 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \</span>
<a name="l00250"></a>00250 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span>
<a name="l00251"></a>00251 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span>
<a name="l00252"></a>00252 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \</span>
<a name="l00253"></a>00253 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \</span>
<a name="l00254"></a>00254 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \</span>
<a name="l00255"></a>00255 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \</span>
<a name="l00256"></a>00256 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span>
<a name="l00257"></a>00257 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span>
<a name="l00258"></a>00258 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \</span>
<a name="l00259"></a>00259 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span>
<a name="l00260"></a>00260 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \</span>
<a name="l00261"></a>00261 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \</span>
<a name="l00262"></a>00262 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \</span>
<a name="l00263"></a>00263 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \</span>
<a name="l00264"></a>00264 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \</span>
<a name="l00265"></a>00265 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \</span>
<a name="l00266"></a>00266 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \</span>
<a name="l00267"></a>00267 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \</span>
<a name="l00268"></a>00268 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \</span>
<a name="l00269"></a>00269 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \</span>
<a name="l00270"></a>00270 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \</span>
<a name="l00271"></a>00271 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \</span>
<a name="l00272"></a>00272 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \</span>
<a name="l00273"></a>00273 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)</span>
<a name="l00274"></a>00274 <span class="preprocessor"></span>
<a name="l00275"></a>00275 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span>
<a name="l00276"></a>00276 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span>
<a name="l00277"></a>00277 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span>
<a name="l00278"></a>00278 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \</span>
<a name="l00279"></a>00279 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span>
<a name="l00280"></a>00280 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span>
<a name="l00281"></a>00281 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \</span>
<a name="l00282"></a>00282 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \</span>
<a name="l00283"></a>00283 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \</span>
<a name="l00284"></a>00284 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \</span>
<a name="l00285"></a>00285 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span>
<a name="l00286"></a>00286 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span>
<a name="l00287"></a>00287 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \</span>
<a name="l00288"></a>00288 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span>
<a name="l00289"></a>00289 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span>
<a name="l00290"></a>00290 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \</span>
<a name="l00291"></a>00291 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \</span>
<a name="l00292"></a>00292 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \</span>
<a name="l00293"></a>00293 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \</span>
<a name="l00294"></a>00294 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \</span>
<a name="l00295"></a>00295 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \</span>
<a name="l00296"></a>00296 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \</span>
<a name="l00297"></a>00297 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \</span>
<a name="l00298"></a>00298 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \</span>
<a name="l00299"></a>00299 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \</span>
<a name="l00300"></a>00300 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \</span>
<a name="l00301"></a>00301 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \</span>
<a name="l00302"></a>00302 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \</span>
<a name="l00303"></a>00303 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \</span>
<a name="l00304"></a>00304 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \</span>
<a name="l00305"></a>00305 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \</span>
<a name="l00306"></a>00306 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \</span>
<a name="l00307"></a>00307 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \</span>
<a name="l00308"></a>00308 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \</span>
<a name="l00309"></a>00309 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \</span>
<a name="l00310"></a>00310 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \</span>
<a name="l00311"></a>00311 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \</span>
<a name="l00312"></a>00312 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span>
<a name="l00313"></a>00313 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span>
<a name="l00314"></a>00314 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \</span>
<a name="l00315"></a>00315 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span>
<a name="l00316"></a>00316 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span>
<a name="l00317"></a>00317 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \</span>
<a name="l00318"></a>00318 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \</span>
<a name="l00319"></a>00319 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \</span>
<a name="l00320"></a>00320 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \</span>
<a name="l00321"></a>00321 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span>
<a name="l00322"></a>00322 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span>
<a name="l00323"></a>00323 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \</span>
<a name="l00324"></a>00324 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span>
<a name="l00325"></a>00325 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \</span>
<a name="l00326"></a>00326 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \</span>
<a name="l00327"></a>00327 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \</span>
<a name="l00328"></a>00328 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \</span>
<a name="l00329"></a>00329 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \</span>
<a name="l00330"></a>00330 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \</span>
<a name="l00331"></a>00331 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \</span>
<a name="l00332"></a>00332 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \</span>
<a name="l00333"></a>00333 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \</span>
<a name="l00334"></a>00334 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \</span>
<a name="l00335"></a>00335 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \</span>
<a name="l00336"></a>00336 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \</span>
<a name="l00337"></a>00337 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \</span>
<a name="l00338"></a>00338 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \</span>
<a name="l00339"></a>00339 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \</span>
<a name="l00340"></a>00340 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \</span>
<a name="l00341"></a>00341 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \</span>
<a name="l00342"></a>00342 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \</span>
<a name="l00343"></a>00343 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \</span>
<a name="l00344"></a>00344 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \</span>
<a name="l00345"></a>00345 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \</span>
<a name="l00346"></a>00346 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \</span>
<a name="l00347"></a>00347 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \</span>
<a name="l00348"></a>00348 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \</span>
<a name="l00349"></a>00349 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \</span>
<a name="l00350"></a>00350 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \</span>
<a name="l00351"></a>00351 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \</span>
<a name="l00352"></a>00352 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \</span>
<a name="l00353"></a>00353 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \</span>
<a name="l00354"></a>00354 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \</span>
<a name="l00355"></a>00355 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \</span>
<a name="l00356"></a>00356 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \</span>
<a name="l00357"></a>00357 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \</span>
<a name="l00358"></a>00358 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \</span>
<a name="l00359"></a>00359 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \</span>
<a name="l00360"></a>00360 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \</span>
<a name="l00361"></a>00361 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \</span>
<a name="l00362"></a>00362 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \</span>
<a name="l00363"></a>00363 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \</span>
<a name="l00364"></a>00364 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \</span>
<a name="l00365"></a>00365 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \</span>
<a name="l00366"></a>00366 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \</span>
<a name="l00367"></a>00367 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \</span>
<a name="l00368"></a>00368 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \</span>
<a name="l00369"></a>00369 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \</span>
<a name="l00370"></a>00370 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \</span>
<a name="l00371"></a>00371 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \</span>
<a name="l00372"></a>00372 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \</span>
<a name="l00373"></a>00373 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \</span>
<a name="l00374"></a>00374 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \</span>
<a name="l00375"></a>00375 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \</span>
<a name="l00376"></a>00376 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \</span>
<a name="l00377"></a>00377 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \</span>
<a name="l00378"></a>00378 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \</span>
<a name="l00379"></a>00379 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \</span>
<a name="l00380"></a>00380 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \</span>
<a name="l00381"></a>00381 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \</span>
<a name="l00382"></a>00382 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \</span>
<a name="l00383"></a>00383 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \</span>
<a name="l00384"></a>00384 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \</span>
<a name="l00385"></a>00385 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \</span>
<a name="l00386"></a>00386 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \</span>
<a name="l00387"></a>00387 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \</span>
<a name="l00388"></a>00388 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \</span>
<a name="l00389"></a>00389 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \</span>
<a name="l00390"></a>00390 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \</span>
<a name="l00391"></a>00391 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \</span>
<a name="l00392"></a>00392 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \</span>
<a name="l00393"></a>00393 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \</span>
<a name="l00394"></a>00394 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \</span>
<a name="l00395"></a>00395 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \</span>
<a name="l00396"></a>00396 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \</span>
<a name="l00397"></a>00397 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \</span>
<a name="l00398"></a>00398 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \</span>
<a name="l00399"></a>00399 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \</span>
<a name="l00400"></a>00400 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \</span>
<a name="l00401"></a>00401 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \</span>
<a name="l00402"></a>00402 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \</span>
<a name="l00403"></a>00403 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \</span>
<a name="l00404"></a>00404 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \</span>
<a name="l00405"></a>00405 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \</span>
<a name="l00406"></a>00406 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \</span>
<a name="l00407"></a>00407 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \</span>
<a name="l00408"></a>00408 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \</span>
<a name="l00409"></a>00409 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \</span>
<a name="l00410"></a>00410 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \</span>
<a name="l00411"></a>00411 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \</span>
<a name="l00412"></a>00412 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \</span>
<a name="l00413"></a>00413 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \</span>
<a name="l00414"></a>00414 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \</span>
<a name="l00415"></a>00415 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \</span>
<a name="l00416"></a>00416 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \</span>
<a name="l00417"></a>00417 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \</span>
<a name="l00418"></a>00418 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \</span>
<a name="l00419"></a>00419 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C)</span>
<a name="l00420"></a>00420 <span class="preprocessor"></span>
<a name="l00421"></a>00421 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \</span>
<a name="l00422"></a>00422 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \</span>
<a name="l00423"></a>00423 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span>
<a name="l00424"></a>00424 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)</span>
<a name="l00425"></a>00425 <span class="preprocessor"></span>
<a name="l00426"></a>00426 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span>
<a name="l00427"></a>00427 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \</span>
<a name="l00428"></a>00428 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \</span>
<a name="l00429"></a>00429 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, q)</span>
<a name="l00430"></a>00430 <span class="preprocessor"></span>
<a name="l00431"></a>00431 <span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)</span>
<a name="l00432"></a>00432
<a name="l00433"></a>00433 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span>
<a name="l00434"></a>00434 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span>
<a name="l00435"></a>00435 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span>
<a name="l00436"></a>00436 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \</span>
<a name="l00437"></a>00437 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \</span>
<a name="l00438"></a>00438 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span>
<a name="l00439"></a>00439 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \</span>
<a name="l00440"></a>00440 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \</span>
<a name="l00441"></a>00441 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \</span>
<a name="l00442"></a>00442 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \</span>
<a name="l00443"></a>00443 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \</span>
<a name="l00444"></a>00444 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \</span>
<a name="l00445"></a>00445 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \</span>
<a name="l00446"></a>00446 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \</span>
<a name="l00447"></a>00447 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \</span>
<a name="l00448"></a>00448 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \</span>
<a name="l00449"></a>00449 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)</span>
<a name="l00450"></a>00450 <span class="preprocessor"></span>
<a name="l00451"></a>00451 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span>
<a name="l00452"></a>00452 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span>
<a name="l00453"></a>00453 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span>
<a name="l00454"></a>00454 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \</span>
<a name="l00455"></a>00455 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \</span>
<a name="l00456"></a>00456 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span>
<a name="l00457"></a>00457 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span>
<a name="l00458"></a>00458 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \</span>
<a name="l00459"></a>00459 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \</span>
<a name="l00460"></a>00460 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \</span>
<a name="l00461"></a>00461 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \</span>
<a name="l00462"></a>00462 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \</span>
<a name="l00463"></a>00463 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \</span>
<a name="l00464"></a>00464 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \</span>
<a name="l00465"></a>00465 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \</span>
<a name="l00466"></a>00466 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \</span>
<a name="l00467"></a>00467 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \</span>
<a name="l00468"></a>00468 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span>
<a name="l00469"></a>00469 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span>
<a name="l00470"></a>00470 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \</span>
<a name="l00471"></a>00471 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \</span>
<a name="l00472"></a>00472 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span>
<a name="l00473"></a>00473 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \</span>
<a name="l00474"></a>00474 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \</span>
<a name="l00475"></a>00475 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \</span>
<a name="l00476"></a>00476 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \</span>
<a name="l00477"></a>00477 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \</span>
<a name="l00478"></a>00478 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \</span>
<a name="l00479"></a>00479 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \</span>
<a name="l00480"></a>00480 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \</span>
<a name="l00481"></a>00481 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \</span>
<a name="l00482"></a>00482 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \</span>
<a name="l00483"></a>00483 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \</span>
<a name="l00484"></a>00484 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \</span>
<a name="l00485"></a>00485 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \</span>
<a name="l00486"></a>00486 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \</span>
<a name="l00487"></a>00487 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \</span>
<a name="l00488"></a>00488 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \</span>
<a name="l00489"></a>00489 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \</span>
<a name="l00490"></a>00490 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \</span>
<a name="l00491"></a>00491 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \</span>
<a name="l00492"></a>00492 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \</span>
<a name="l00493"></a>00493 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \</span>
<a name="l00494"></a>00494 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \</span>
<a name="l00495"></a>00495 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \</span>
<a name="l00496"></a>00496 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \</span>
<a name="l00497"></a>00497 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \</span>
<a name="l00498"></a>00498 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \</span>
<a name="l00499"></a>00499 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \</span>
<a name="l00500"></a>00500 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \</span>
<a name="l00501"></a>00501 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \</span>
<a name="l00502"></a>00502 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \</span>
<a name="l00503"></a>00503 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \</span>
<a name="l00504"></a>00504 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \</span>
<a name="l00505"></a>00505 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \</span>
<a name="l00506"></a>00506 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \</span>
<a name="l00507"></a>00507 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \</span>
<a name="l00508"></a>00508 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \</span>
<a name="l00509"></a>00509 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \</span>
<a name="l00510"></a>00510 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \</span>
<a name="l00511"></a>00511 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \</span>
<a name="l00512"></a>00512 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \</span>
<a name="l00513"></a>00513 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \</span>
<a name="l00514"></a>00514 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \</span>
<a name="l00515"></a>00515 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)</span>
<a name="l00516"></a>00516 <span class="preprocessor"></span>
<a name="l00517"></a>00517 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span>
<a name="l00518"></a>00518 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span>
<a name="l00519"></a>00519 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span>
<a name="l00520"></a>00520 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \</span>
<a name="l00521"></a>00521 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \</span>
<a name="l00522"></a>00522 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span>
<a name="l00523"></a>00523 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span>
<a name="l00524"></a>00524 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \</span>
<a name="l00525"></a>00525 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \</span>
<a name="l00526"></a>00526 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \</span>
<a name="l00527"></a>00527 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \</span>
<a name="l00528"></a>00528 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \</span>
<a name="l00529"></a>00529 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \</span>
<a name="l00530"></a>00530 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \</span>
<a name="l00531"></a>00531 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \</span>
<a name="l00532"></a>00532 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \</span>
<a name="l00533"></a>00533 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \</span>
<a name="l00534"></a>00534 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span>
<a name="l00535"></a>00535 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span>
<a name="l00536"></a>00536 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \</span>
<a name="l00537"></a>00537 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \</span>
<a name="l00538"></a>00538 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span>
<a name="l00539"></a>00539 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span>
<a name="l00540"></a>00540 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \</span>
<a name="l00541"></a>00541 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \</span>
<a name="l00542"></a>00542 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \</span>
<a name="l00543"></a>00543 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \</span>
<a name="l00544"></a>00544 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \</span>
<a name="l00545"></a>00545 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \</span>
<a name="l00546"></a>00546 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \</span>
<a name="l00547"></a>00547 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \</span>
<a name="l00548"></a>00548 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \</span>
<a name="l00549"></a>00549 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \</span>
<a name="l00550"></a>00550 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \</span>
<a name="l00551"></a>00551 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \</span>
<a name="l00552"></a>00552 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \</span>
<a name="l00553"></a>00553 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \</span>
<a name="l00554"></a>00554 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \</span>
<a name="l00555"></a>00555 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \</span>
<a name="l00556"></a>00556 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \</span>
<a name="l00557"></a>00557 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \</span>
<a name="l00558"></a>00558 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \</span>
<a name="l00559"></a>00559 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \</span>
<a name="l00560"></a>00560 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \</span>
<a name="l00561"></a>00561 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \</span>
<a name="l00562"></a>00562 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \</span>
<a name="l00563"></a>00563 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \</span>
<a name="l00564"></a>00564 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \</span>
<a name="l00565"></a>00565 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \</span>
<a name="l00566"></a>00566 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \</span>
<a name="l00567"></a>00567 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \</span>
<a name="l00568"></a>00568 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \</span>
<a name="l00569"></a>00569 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \</span>
<a name="l00570"></a>00570 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \</span>
<a name="l00571"></a>00571 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \</span>
<a name="l00572"></a>00572 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \</span>
<a name="l00573"></a>00573 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \</span>
<a name="l00574"></a>00574 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \</span>
<a name="l00575"></a>00575 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \</span>
<a name="l00576"></a>00576 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \</span>
<a name="l00577"></a>00577 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \</span>
<a name="l00578"></a>00578 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \</span>
<a name="l00579"></a>00579 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \</span>
<a name="l00580"></a>00580 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \</span>
<a name="l00581"></a>00581 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \</span>
<a name="l00582"></a>00582 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span>
<a name="l00583"></a>00583 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span>
<a name="l00584"></a>00584 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \</span>
<a name="l00585"></a>00585 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \</span>
<a name="l00586"></a>00586 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span>
<a name="l00587"></a>00587 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span>
<a name="l00588"></a>00588 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \</span>
<a name="l00589"></a>00589 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \</span>
<a name="l00590"></a>00590 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \</span>
<a name="l00591"></a>00591 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \</span>
<a name="l00592"></a>00592 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \</span>
<a name="l00593"></a>00593 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \</span>
<a name="l00594"></a>00594 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \</span>
<a name="l00595"></a>00595 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \</span>
<a name="l00596"></a>00596 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \</span>
<a name="l00597"></a>00597 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \</span>
<a name="l00598"></a>00598 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span>
<a name="l00599"></a>00599 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span>
<a name="l00600"></a>00600 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \</span>
<a name="l00601"></a>00601 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \</span>
<a name="l00602"></a>00602 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span>
<a name="l00603"></a>00603 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \</span>
<a name="l00604"></a>00604 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \</span>
<a name="l00605"></a>00605 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \</span>
<a name="l00606"></a>00606 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \</span>
<a name="l00607"></a>00607 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \</span>
<a name="l00608"></a>00608 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \</span>
<a name="l00609"></a>00609 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \</span>
<a name="l00610"></a>00610 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \</span>
<a name="l00611"></a>00611 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \</span>
<a name="l00612"></a>00612 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \</span>
<a name="l00613"></a>00613 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \</span>
<a name="l00614"></a>00614 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \</span>
<a name="l00615"></a>00615 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \</span>
<a name="l00616"></a>00616 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \</span>
<a name="l00617"></a>00617 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \</span>
<a name="l00618"></a>00618 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \</span>
<a name="l00619"></a>00619 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \</span>
<a name="l00620"></a>00620 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \</span>
<a name="l00621"></a>00621 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \</span>
<a name="l00622"></a>00622 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \</span>
<a name="l00623"></a>00623 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \</span>
<a name="l00624"></a>00624 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \</span>
<a name="l00625"></a>00625 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \</span>
<a name="l00626"></a>00626 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \</span>
<a name="l00627"></a>00627 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \</span>
<a name="l00628"></a>00628 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \</span>
<a name="l00629"></a>00629 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \</span>
<a name="l00630"></a>00630 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \</span>
<a name="l00631"></a>00631 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \</span>
<a name="l00632"></a>00632 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \</span>
<a name="l00633"></a>00633 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \</span>
<a name="l00634"></a>00634 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \</span>
<a name="l00635"></a>00635 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \</span>
<a name="l00636"></a>00636 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \</span>
<a name="l00637"></a>00637 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \</span>
<a name="l00638"></a>00638 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \</span>
<a name="l00639"></a>00639 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \</span>
<a name="l00640"></a>00640 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \</span>
<a name="l00641"></a>00641 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \</span>
<a name="l00642"></a>00642 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \</span>
<a name="l00643"></a>00643 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \</span>
<a name="l00644"></a>00644 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \</span>
<a name="l00645"></a>00645 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \</span>
<a name="l00646"></a>00646 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \</span>
<a name="l00647"></a>00647 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \</span>
<a name="l00648"></a>00648 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \</span>
<a name="l00649"></a>00649 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \</span>
<a name="l00650"></a>00650 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \</span>
<a name="l00651"></a>00651 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \</span>
<a name="l00652"></a>00652 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \</span>
<a name="l00653"></a>00653 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \</span>
<a name="l00654"></a>00654 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \</span>
<a name="l00655"></a>00655 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \</span>
<a name="l00656"></a>00656 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \</span>
<a name="l00657"></a>00657 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \</span>
<a name="l00658"></a>00658 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \</span>
<a name="l00659"></a>00659 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \</span>
<a name="l00660"></a>00660 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \</span>
<a name="l00661"></a>00661 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \</span>
<a name="l00662"></a>00662 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \</span>
<a name="l00663"></a>00663 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \</span>
<a name="l00664"></a>00664 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \</span>
<a name="l00665"></a>00665 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \</span>
<a name="l00666"></a>00666 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \</span>
<a name="l00667"></a>00667 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \</span>
<a name="l00668"></a>00668 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \</span>
<a name="l00669"></a>00669 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \</span>
<a name="l00670"></a>00670 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \</span>
<a name="l00671"></a>00671 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \</span>
<a name="l00672"></a>00672 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \</span>
<a name="l00673"></a>00673 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \</span>
<a name="l00674"></a>00674 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \</span>
<a name="l00675"></a>00675 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \</span>
<a name="l00676"></a>00676 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \</span>
<a name="l00677"></a>00677 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \</span>
<a name="l00678"></a>00678 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \</span>
<a name="l00679"></a>00679 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \</span>
<a name="l00680"></a>00680 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \</span>
<a name="l00681"></a>00681 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \</span>
<a name="l00682"></a>00682 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \</span>
<a name="l00683"></a>00683 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \</span>
<a name="l00684"></a>00684 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \</span>
<a name="l00685"></a>00685 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \</span>
<a name="l00686"></a>00686 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \</span>
<a name="l00687"></a>00687 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \</span>
<a name="l00688"></a>00688 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \</span>
<a name="l00689"></a>00689 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \</span>
<a name="l00690"></a>00690 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \</span>
<a name="l00691"></a>00691 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \</span>
<a name="l00692"></a>00692 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \</span>
<a name="l00693"></a>00693 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \</span>
<a name="l00694"></a>00694 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \</span>
<a name="l00695"></a>00695 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \</span>
<a name="l00696"></a>00696 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \</span>
<a name="l00697"></a>00697 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \</span>
<a name="l00698"></a>00698 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \</span>
<a name="l00699"></a>00699 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \</span>
<a name="l00700"></a>00700 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \</span>
<a name="l00701"></a>00701 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \</span>
<a name="l00702"></a>00702 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \</span>
<a name="l00703"></a>00703 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \</span>
<a name="l00704"></a>00704 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \</span>
<a name="l00705"></a>00705 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \</span>
<a name="l00706"></a>00706 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \</span>
<a name="l00707"></a>00707 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \</span>
<a name="l00708"></a>00708 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \</span>
<a name="l00709"></a>00709 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \</span>
<a name="l00710"></a>00710 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \</span>
<a name="l00711"></a>00711 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \</span>
<a name="l00712"></a>00712 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \</span>
<a name="l00713"></a>00713 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \</span>
<a name="l00714"></a>00714 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \</span>
<a name="l00715"></a>00715 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \</span>
<a name="l00716"></a>00716 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \</span>
<a name="l00717"></a>00717 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \</span>
<a name="l00718"></a>00718 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \</span>
<a name="l00719"></a>00719 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \</span>
<a name="l00720"></a>00720 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \</span>
<a name="l00721"></a>00721 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \</span>
<a name="l00722"></a>00722 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \</span>
<a name="l00723"></a>00723 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \</span>
<a name="l00724"></a>00724 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \</span>
<a name="l00725"></a>00725 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \</span>
<a name="l00726"></a>00726 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \</span>
<a name="l00727"></a>00727 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \</span>
<a name="l00728"></a>00728 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \</span>
<a name="l00729"></a>00729 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \</span>
<a name="l00730"></a>00730 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \</span>
<a name="l00731"></a>00731 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \</span>
<a name="l00732"></a>00732 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \</span>
<a name="l00733"></a>00733 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \</span>
<a name="l00734"></a>00734 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \</span>
<a name="l00735"></a>00735 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \</span>
<a name="l00736"></a>00736 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \</span>
<a name="l00737"></a>00737 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \</span>
<a name="l00738"></a>00738 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \</span>
<a name="l00739"></a>00739 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \</span>
<a name="l00740"></a>00740 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \</span>
<a name="l00741"></a>00741 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \</span>
<a name="l00742"></a>00742 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \</span>
<a name="l00743"></a>00743 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \</span>
<a name="l00744"></a>00744 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \</span>
<a name="l00745"></a>00745 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \</span>
<a name="l00746"></a>00746 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \</span>
<a name="l00747"></a>00747 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \</span>
<a name="l00748"></a>00748 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \</span>
<a name="l00749"></a>00749 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \</span>
<a name="l00750"></a>00750 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \</span>
<a name="l00751"></a>00751 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \</span>
<a name="l00752"></a>00752 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \</span>
<a name="l00753"></a>00753 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \</span>
<a name="l00754"></a>00754 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \</span>
<a name="l00755"></a>00755 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \</span>
<a name="l00756"></a>00756 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \</span>
<a name="l00757"></a>00757 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \</span>
<a name="l00758"></a>00758 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \</span>
<a name="l00759"></a>00759 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \</span>
<a name="l00760"></a>00760 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \</span>
<a name="l00761"></a>00761 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \</span>
<a name="l00762"></a>00762 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \</span>
<a name="l00763"></a>00763 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \</span>
<a name="l00764"></a>00764 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \</span>
<a name="l00765"></a>00765 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \</span>
<a name="l00766"></a>00766 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \</span>
<a name="l00767"></a>00767 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \</span>
<a name="l00768"></a>00768 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \</span>
<a name="l00769"></a>00769 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \</span>
<a name="l00770"></a>00770 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \</span>
<a name="l00771"></a>00771 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \</span>
<a name="l00772"></a>00772 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \</span>
<a name="l00773"></a>00773 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)</span>
<a name="l00774"></a>00774 <span class="preprocessor"></span>
<a name="l00775"></a>00775 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \</span>
<a name="l00776"></a>00776 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \</span>
<a name="l00777"></a>00777 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \</span>
<a name="l00778"></a>00778 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)</span>
<a name="l00779"></a>00779 <span class="preprocessor"></span>
<a name="l00780"></a>00780 <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span>
<a name="l00781"></a>00781 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \</span>
<a name="l00782"></a>00782 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \</span>
<a name="l00783"></a>00783 <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, q, p)</span>
<a name="l00784"></a>00784 <span class="preprocessor"></span>
<a name="l00785"></a>00785 <span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)</span>
<a name="l00786"></a>00786
<a name="l00787"></a>00787 <span class="preprocessor">#endif//glm_core_swizzle_func</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_vectorize.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_vectorize.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00007_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2011-10-14 / 2011-10-14 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00007_source.html">_vectorize.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,225 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>_vectorize.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_vectorize.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00007.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#define VECTORIZE2_VEC(func) \</span>
<a name="l00030"></a>00030 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00031"></a>00031 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; func( \</span>
<a name="l00032"></a>00032 <span class="preprocessor"> detail::tvec2&lt;T&gt; const &amp; v) \</span>
<a name="l00033"></a>00033 <span class="preprocessor"> { \</span>
<a name="l00034"></a>00034 <span class="preprocessor"> return detail::tvec2&lt;T&gt;( \</span>
<a name="l00035"></a>00035 <span class="preprocessor"> func(v.x), \</span>
<a name="l00036"></a>00036 <span class="preprocessor"> func(v.y)); \</span>
<a name="l00037"></a>00037 <span class="preprocessor"> }</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#define VECTORIZE3_VEC(func) \</span>
<a name="l00040"></a>00040 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00041"></a>00041 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; func( \</span>
<a name="l00042"></a>00042 <span class="preprocessor"> detail::tvec3&lt;T&gt; const &amp; v) \</span>
<a name="l00043"></a>00043 <span class="preprocessor"> { \</span>
<a name="l00044"></a>00044 <span class="preprocessor"> return detail::tvec3&lt;T&gt;( \</span>
<a name="l00045"></a>00045 <span class="preprocessor"> func(v.x), \</span>
<a name="l00046"></a>00046 <span class="preprocessor"> func(v.y), \</span>
<a name="l00047"></a>00047 <span class="preprocessor"> func(v.z)); \</span>
<a name="l00048"></a>00048 <span class="preprocessor"> }</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="preprocessor">#define VECTORIZE4_VEC(func) \</span>
<a name="l00051"></a>00051 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00052"></a>00052 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; func( \</span>
<a name="l00053"></a>00053 <span class="preprocessor"> detail::tvec4&lt;T&gt; const &amp; v) \</span>
<a name="l00054"></a>00054 <span class="preprocessor"> { \</span>
<a name="l00055"></a>00055 <span class="preprocessor"> return detail::tvec4&lt;T&gt;( \</span>
<a name="l00056"></a>00056 <span class="preprocessor"> func(v.x), \</span>
<a name="l00057"></a>00057 <span class="preprocessor"> func(v.y), \</span>
<a name="l00058"></a>00058 <span class="preprocessor"> func(v.z), \</span>
<a name="l00059"></a>00059 <span class="preprocessor"> func(v.w)); \</span>
<a name="l00060"></a>00060 <span class="preprocessor"> }</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00062"></a>00062 <span class="preprocessor">#define VECTORIZE_VEC(func) \</span>
<a name="l00063"></a>00063 <span class="preprocessor"> VECTORIZE2_VEC(func) \</span>
<a name="l00064"></a>00064 <span class="preprocessor"> VECTORIZE3_VEC(func) \</span>
<a name="l00065"></a>00065 <span class="preprocessor"> VECTORIZE4_VEC(func)</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span>
<a name="l00067"></a>00067 <span class="preprocessor">#define VECTORIZE2_VEC_SCA(func) \</span>
<a name="l00068"></a>00068 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00069"></a>00069 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; func \</span>
<a name="l00070"></a>00070 <span class="preprocessor"> ( \</span>
<a name="l00071"></a>00071 <span class="preprocessor"> detail::tvec2&lt;T&gt; const &amp; x, \</span>
<a name="l00072"></a>00072 <span class="preprocessor"> typename detail::tvec2&lt;T&gt;::value_type const &amp; y \</span>
<a name="l00073"></a>00073 <span class="preprocessor"> ) \</span>
<a name="l00074"></a>00074 <span class="preprocessor"> { \</span>
<a name="l00075"></a>00075 <span class="preprocessor"> return detail::tvec2&lt;T&gt;( \</span>
<a name="l00076"></a>00076 <span class="preprocessor"> func(x.x, y), \</span>
<a name="l00077"></a>00077 <span class="preprocessor"> func(x.y, y)); \</span>
<a name="l00078"></a>00078 <span class="preprocessor"> }</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>
<a name="l00080"></a>00080 <span class="preprocessor">#define VECTORIZE3_VEC_SCA(func) \</span>
<a name="l00081"></a>00081 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00082"></a>00082 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; func \</span>
<a name="l00083"></a>00083 <span class="preprocessor"> ( \</span>
<a name="l00084"></a>00084 <span class="preprocessor"> detail::tvec3&lt;T&gt; const &amp; x, \</span>
<a name="l00085"></a>00085 <span class="preprocessor"> typename detail::tvec3&lt;T&gt;::value_type const &amp; y \</span>
<a name="l00086"></a>00086 <span class="preprocessor"> ) \</span>
<a name="l00087"></a>00087 <span class="preprocessor"> { \</span>
<a name="l00088"></a>00088 <span class="preprocessor"> return detail::tvec3&lt;T&gt;( \</span>
<a name="l00089"></a>00089 <span class="preprocessor"> func(x.x, y), \</span>
<a name="l00090"></a>00090 <span class="preprocessor"> func(x.y, y), \</span>
<a name="l00091"></a>00091 <span class="preprocessor"> func(x.z, y)); \</span>
<a name="l00092"></a>00092 <span class="preprocessor"> }</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span>
<a name="l00094"></a>00094 <span class="preprocessor">#define VECTORIZE4_VEC_SCA(func) \</span>
<a name="l00095"></a>00095 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00096"></a>00096 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; func \</span>
<a name="l00097"></a>00097 <span class="preprocessor"> ( \</span>
<a name="l00098"></a>00098 <span class="preprocessor"> detail::tvec4&lt;T&gt; const &amp; x, \</span>
<a name="l00099"></a>00099 <span class="preprocessor"> typename detail::tvec4&lt;T&gt;::value_type const &amp; y \</span>
<a name="l00100"></a>00100 <span class="preprocessor"> ) \</span>
<a name="l00101"></a>00101 <span class="preprocessor"> { \</span>
<a name="l00102"></a>00102 <span class="preprocessor"> return detail::tvec4&lt;T&gt;( \</span>
<a name="l00103"></a>00103 <span class="preprocessor"> func(x.x, y), \</span>
<a name="l00104"></a>00104 <span class="preprocessor"> func(x.y, y), \</span>
<a name="l00105"></a>00105 <span class="preprocessor"> func(x.z, y), \</span>
<a name="l00106"></a>00106 <span class="preprocessor"> func(x.w, y)); \</span>
<a name="l00107"></a>00107 <span class="preprocessor"> }</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span>
<a name="l00109"></a>00109 <span class="preprocessor">#define VECTORIZE_VEC_SCA(func) \</span>
<a name="l00110"></a>00110 <span class="preprocessor"> VECTORIZE2_VEC_SCA(func) \</span>
<a name="l00111"></a>00111 <span class="preprocessor"> VECTORIZE3_VEC_SCA(func) \</span>
<a name="l00112"></a>00112 <span class="preprocessor"> VECTORIZE4_VEC_SCA(func)</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span>
<a name="l00114"></a>00114 <span class="preprocessor">#define VECTORIZE2_VEC_VEC(func) \</span>
<a name="l00115"></a>00115 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00116"></a>00116 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; func \</span>
<a name="l00117"></a>00117 <span class="preprocessor"> ( \</span>
<a name="l00118"></a>00118 <span class="preprocessor"> detail::tvec2&lt;T&gt; const &amp; x, \</span>
<a name="l00119"></a>00119 <span class="preprocessor"> detail::tvec2&lt;T&gt; const &amp; y \</span>
<a name="l00120"></a>00120 <span class="preprocessor"> ) \</span>
<a name="l00121"></a>00121 <span class="preprocessor"> { \</span>
<a name="l00122"></a>00122 <span class="preprocessor"> return detail::tvec2&lt;T&gt;( \</span>
<a name="l00123"></a>00123 <span class="preprocessor"> func(x.x, y.x), \</span>
<a name="l00124"></a>00124 <span class="preprocessor"> func(x.y, y.y)); \</span>
<a name="l00125"></a>00125 <span class="preprocessor"> }</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span>
<a name="l00127"></a>00127 <span class="preprocessor">#define VECTORIZE3_VEC_VEC(func) \</span>
<a name="l00128"></a>00128 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00129"></a>00129 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; func \</span>
<a name="l00130"></a>00130 <span class="preprocessor"> ( \</span>
<a name="l00131"></a>00131 <span class="preprocessor"> detail::tvec3&lt;T&gt; const &amp; x, \</span>
<a name="l00132"></a>00132 <span class="preprocessor"> detail::tvec3&lt;T&gt; const &amp; y \</span>
<a name="l00133"></a>00133 <span class="preprocessor"> ) \</span>
<a name="l00134"></a>00134 <span class="preprocessor"> { \</span>
<a name="l00135"></a>00135 <span class="preprocessor"> return detail::tvec3&lt;T&gt;( \</span>
<a name="l00136"></a>00136 <span class="preprocessor"> func(x.x, y.x), \</span>
<a name="l00137"></a>00137 <span class="preprocessor"> func(x.y, y.y), \</span>
<a name="l00138"></a>00138 <span class="preprocessor"> func(x.z, y.z)); \</span>
<a name="l00139"></a>00139 <span class="preprocessor"> }</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span>
<a name="l00141"></a>00141 <span class="preprocessor">#define VECTORIZE4_VEC_VEC(func) \</span>
<a name="l00142"></a>00142 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00143"></a>00143 <span class="preprocessor"> GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; func \</span>
<a name="l00144"></a>00144 <span class="preprocessor"> ( \</span>
<a name="l00145"></a>00145 <span class="preprocessor"> detail::tvec4&lt;T&gt; const &amp; x, \</span>
<a name="l00146"></a>00146 <span class="preprocessor"> detail::tvec4&lt;T&gt; const &amp; y \</span>
<a name="l00147"></a>00147 <span class="preprocessor"> ) \</span>
<a name="l00148"></a>00148 <span class="preprocessor"> { \</span>
<a name="l00149"></a>00149 <span class="preprocessor"> return detail::tvec4&lt;T&gt;( \</span>
<a name="l00150"></a>00150 <span class="preprocessor"> func(x.x, y.x), \</span>
<a name="l00151"></a>00151 <span class="preprocessor"> func(x.y, y.y), \</span>
<a name="l00152"></a>00152 <span class="preprocessor"> func(x.z, y.z), \</span>
<a name="l00153"></a>00153 <span class="preprocessor"> func(x.w, y.w)); \</span>
<a name="l00154"></a>00154 <span class="preprocessor"> }</span>
<a name="l00155"></a>00155 <span class="preprocessor"></span>
<a name="l00156"></a>00156 <span class="preprocessor">#define VECTORIZE_VEC_VEC(func) \</span>
<a name="l00157"></a>00157 <span class="preprocessor"> VECTORIZE2_VEC_VEC(func) \</span>
<a name="l00158"></a>00158 <span class="preprocessor"> VECTORIZE3_VEC_VEC(func) \</span>
<a name="l00159"></a>00159 <span class="preprocessor"> VECTORIZE4_VEC_VEC(func)</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>associated_min_max.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">associated_min_max.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00008_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00152.html">GLM_GTX_associated_min_max: Associated Min/Max</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-03-10 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00164.html" title="Min and max functions for 3 to 4 parameters.">GLM_GTX_extented_min_max: Extended min max</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00008_source.html">associated_min_max.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,157 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>associated_min_max.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">associated_min_max.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00008.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_associated_min_max</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_associated_min_max GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_associated_min_max extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00056"></a>00056 genTypeU associatedMin(
<a name="l00057"></a>00057 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00058"></a>00058 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00063"></a>00063 genTypeU associatedMin(
<a name="l00064"></a>00064 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00065"></a>00065 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00066"></a>00066 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c);
<a name="l00067"></a>00067
<a name="l00070"></a>00070 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00071"></a>00071 genTypeU associatedMin(
<a name="l00072"></a>00072 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00073"></a>00073 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00074"></a>00074 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c,
<a name="l00075"></a>00075 <span class="keyword">const</span> genTypeT&amp; w, <span class="keyword">const</span> genTypeU&amp; d);
<a name="l00076"></a>00076
<a name="l00079"></a>00079 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00080"></a>00080 genTypeU associatedMax(
<a name="l00081"></a>00081 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00082"></a>00082 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b);
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00087"></a>00087 genTypeU associatedMax(
<a name="l00088"></a>00088 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00089"></a>00089 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00090"></a>00090 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c);
<a name="l00091"></a>00091
<a name="l00094"></a>00094 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00095"></a>00095 genTypeU associatedMax(
<a name="l00096"></a>00096 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00097"></a>00097 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00098"></a>00098 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c,
<a name="l00099"></a>00099 <span class="keyword">const</span> genTypeT&amp; w, <span class="keyword">const</span> genTypeU&amp; d);
<a name="l00100"></a>00100
<a name="l00102"></a>00102 } <span class="comment">//namespace glm</span>
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="preprocessor">#include &quot;associated_min_max.inl&quot;</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="preprocessor">#endif//GLM_GTX_associated_min_max</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,88 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>bit.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">bit.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00009_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00153.html">GLM_GTX_bit: Extended bitwise operations</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-03-14 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00141.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float: Half-precision floating-point based types and functions</a> (dependence)</dd></dl>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00153.html">GLM_GTX_bit: Extended bitwise operations</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-12-30 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00009_source.html">bit.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,174 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>bit.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">bit.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00009.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_bit</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_bit GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_bit extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIType&gt;
<a name="l00058"></a>00058 genIType mask(genIType <span class="keyword">const</span> &amp; count);
<a name="l00059"></a>00059
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType, <span class="keyword">typename</span> sizeType&gt;
<a name="l00064"></a>00064 genIUType extractField(
<a name="l00065"></a>00065 genIUType <span class="keyword">const</span> &amp; v,
<a name="l00066"></a>00066 sizeType <span class="keyword">const</span> &amp; first,
<a name="l00067"></a>00067 sizeType <span class="keyword">const</span> &amp; count);
<a name="l00068"></a>00068
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00072"></a>00072 <span class="keywordtype">int</span> lowestBit(genType <span class="keyword">const</span> &amp; value);
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00077"></a>00077 <span class="keywordtype">int</span> highestBit(genType <span class="keyword">const</span> &amp; value);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00082"></a>00082 genType highestBitValue(genType <span class="keyword">const</span> &amp; value);
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00087"></a>00087 <span class="keywordtype">bool</span> isPowerOfTwo(genType <span class="keyword">const</span> &amp; value);
<a name="l00088"></a>00088
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00092"></a>00092 genType powerOfTwoAbove(genType <span class="keyword">const</span> &amp; value);
<a name="l00093"></a>00093
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00097"></a>00097 genType powerOfTwoBelow(genType <span class="keyword">const</span> &amp; value);
<a name="l00098"></a>00098
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00102"></a>00102 genType powerOfTwoNearest(genType <span class="keyword">const</span> &amp; value);
<a name="l00103"></a>00103
<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00107"></a>00107 genType bitRevert(genType <span class="keyword">const</span> &amp; value);
<a name="l00108"></a>00108
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00112"></a>00112 genType bitRotateRight(genType <span class="keyword">const</span> &amp; In, std::size_t Shift);
<a name="l00113"></a>00113
<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00117"></a>00117 genType bitRotateLeft(genType <span class="keyword">const</span> &amp; In, std::size_t Shift);
<a name="l00118"></a>00118
<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00122"></a>00122 genIUType fillBitfieldWithOne(
<a name="l00123"></a>00123 genIUType <span class="keyword">const</span> &amp; Value,
<a name="l00124"></a>00124 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; FromBit,
<a name="l00125"></a>00125 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; ToBit);
<a name="l00126"></a>00126
<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00130"></a>00130 genIUType fillBitfieldWithZero(
<a name="l00131"></a>00131 genIUType <span class="keyword">const</span> &amp; Value,
<a name="l00132"></a>00132 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; FromBit,
<a name="l00133"></a>00133 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; ToBit);
<a name="l00134"></a>00134
<a name="l00136"></a>00136 } <span class="comment">//namespace glm</span>
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="preprocessor">#include &quot;bit.inl&quot;</span>
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="preprocessor">#endif//GLM_GTX_bit</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,127 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>closest_point.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">closest_point.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_closest_point</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_closest_point GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_closest_point extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00056"></a>00056 detail::tvec3&lt;T&gt; closestPointOnLine(
<a name="l00057"></a>00057 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; point,
<a name="l00058"></a>00058 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; a,
<a name="l00059"></a>00059 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; b);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 }<span class="comment">// namespace glm</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;closest_point.inl&quot;</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif//GLM_GTX_closest_point</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>color_cast.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_cast.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00011_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00155.html">GLM_GTX_color_cast: Color conversion</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-06-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00186.html" title="Defined size types.">GLM_GTX_number_precision: Number precision</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00011_source.html">color_cast.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,183 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>color_cast.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_cast.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00011.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_color_cast</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_color_cast GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtx/number_precision.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_color_cast extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; uint8 u8channel_cast(valType a);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; uint16 u16channel_cast(valType a);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_rgbx_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_xrgb_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_bgrx_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_xbgr_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_rgba_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_argb_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_bgra_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint32 u32_abgr_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_rgbx_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_xrgb_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_bgrx_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_xbgr_cast(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_rgba_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_argb_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_bgra_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; uint64 u64_abgr_cast(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16 f16_channel_cast(T a);
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec3 f16_rgbx_cast(T c);
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec3 f16_xrgb_cast(T c);
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec3 f16_bgrx_cast(T c);
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec3 f16_xbgr_cast(T c);
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec4 f16_rgba_cast(T c);
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec4 f16_argb_cast(T c);
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec4 f16_bgra_cast(T c);
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f16vec4 f16_abgr_cast(T c);
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32 f32_channel_cast(T a);
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec3 f32_rgbx_cast(T c);
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec3 f32_xrgb_cast(T c);
<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec3 f32_bgrx_cast(T c);
<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec3 f32_xbgr_cast(T c);
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec4 f32_rgba_cast(T c);
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec4 f32_argb_cast(T c);
<a name="l00104"></a>00104 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec4 f32_bgra_cast(T c);
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f32vec4 f32_abgr_cast(T c);
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64 f64_channel_cast(T a);
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec3 f64_rgbx_cast(T c);
<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec3 f64_xrgb_cast(T c);
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec3 f64_bgrx_cast(T c);
<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec3 f64_xbgr_cast(T c);
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec4 f64_rgba_cast(T c);
<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec4 f64_argb_cast(T c);
<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec4 f64_bgra_cast(T c);
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; f64vec4 f64_abgr_cast(T c);
<a name="l00118"></a>00118
<a name="l00120"></a>00120 }<span class="comment">//namespace glm</span>
<a name="l00121"></a>00121
<a name="l00122"></a>00122 <span class="preprocessor">#include &quot;color_cast.inl&quot;</span>
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="preprocessor">#endif//GLM_GTX_color_cast</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>color_space.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_space.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00012_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00156.html">GLM_GTX_color_space: RGB to HSV conversion</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-12-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00012_source.html">color_space.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,147 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>color_space.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_space.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00012.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_color_space</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_color_space GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_color_space extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00056"></a>00056 detail::tvec3&lt;valType&gt; rgbColor(
<a name="l00057"></a>00057 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; hsvValue);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00062"></a>00062 detail::tvec3&lt;valType&gt; hsvColor(
<a name="l00063"></a>00063 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; rgbValue);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00068"></a>00068 detail::tmat4x4&lt;valType&gt; saturation(
<a name="l00069"></a>00069 valType <span class="keyword">const</span> s);
<a name="l00070"></a>00070
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00074"></a>00074 detail::tvec3&lt;valType&gt; saturation(
<a name="l00075"></a>00075 valType <span class="keyword">const</span> s,
<a name="l00076"></a>00076 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; color);
<a name="l00077"></a>00077
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00081"></a>00081 detail::tvec4&lt;valType&gt; saturation(
<a name="l00082"></a>00082 valType <span class="keyword">const</span> s,
<a name="l00083"></a>00083 detail::tvec4&lt;valType&gt; <span class="keyword">const</span> &amp; color);
<a name="l00084"></a>00084
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00088"></a>00088 valType luminosity(
<a name="l00089"></a>00089 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; color);
<a name="l00090"></a>00090
<a name="l00092"></a>00092 }<span class="comment">//namespace glm</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="preprocessor">#include &quot;color_space.inl&quot;</span>
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="preprocessor">#endif//GLM_GTX_color_space</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>color_space_YCoCg.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_space_YCoCg.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00013_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00157.html">GLM_GTX_color_space_YCoCg: RGB to YCoCg conversion</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-10-28 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00013_source.html">color_space_YCoCg.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,137 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>color_space_YCoCg.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_space_YCoCg.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00013.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef glm_gtx_color_space_YCoCg</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_color_space_YCoCg GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_color_space_YCoCg extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00056"></a>00056 detail::tvec3&lt;valType&gt; rgb2YCoCg(
<a name="l00057"></a>00057 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; rgbColor);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00062"></a>00062 detail::tvec3&lt;valType&gt; YCoCg2rgb(
<a name="l00063"></a>00063 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; YCoCgColor);
<a name="l00064"></a>00064
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00069"></a>00069 detail::tvec3&lt;valType&gt; rgb2YCoCgR(
<a name="l00070"></a>00070 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; rgbColor);
<a name="l00071"></a>00071
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00076"></a>00076 detail::tvec3&lt;valType&gt; YCoCgR2rgb(
<a name="l00077"></a>00077 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; YCoCgColor);
<a name="l00078"></a>00078
<a name="l00080"></a>00080 }<span class="comment">//namespace glm</span>
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="preprocessor">#include &quot;color_space_YCoCg.inl&quot;</span>
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="preprocessor">#endif//glm_gtx_color_space_YCoCg</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>compatibility.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">compatibility.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00014_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00158.html">GLM_GTX_compatibility: Cg and HLSL compatibility</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-01-24 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00141.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float: Half-precision floating-point based types and functions</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00014_source.html">compatibility.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,243 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>compatibility.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">compatibility.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00014.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_compatibility</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_compatibility GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_compatibility extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="preprocessor">#if(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cfloat&gt;</span>
<a name="l00052"></a>00052 <span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_GCC)</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00054"></a>00054 <span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span>
<a name="l00056"></a>00056 <span class="keyword">namespace </span>glm
<a name="l00057"></a>00057 {
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; lerp(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; lerp(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; lerp(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; lerp(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; lerp(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; lerp(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);}
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T saturate(T x){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; saturate(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; saturate(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; saturate(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00125.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T atan2(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#ga2394d11075a74869cd88473c76722bc8" title="Arc tangent.">atan</a>(x, y);}
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec2&lt;T&gt; atan2(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#ga2394d11075a74869cd88473c76722bc8" title="Arc tangent.">atan</a>(x, y);}
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec3&lt;T&gt; atan2(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#ga2394d11075a74869cd88473c76722bc8" title="Arc tangent.">atan</a>(x, y);}
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER detail::tvec4&lt;T&gt; atan2(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#ga2394d11075a74869cd88473c76722bc8" title="Arc tangent.">atan</a>(x, y);}
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> isfinite(genType <span class="keyword">const</span> &amp; x);
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; detail::tvec2&lt;bool&gt; isfinite(<span class="keyword">const</span> detail::tvec2&lt;valType&gt;&amp; x);
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; detail::tvec3&lt;bool&gt; isfinite(<span class="keyword">const</span> detail::tvec3&lt;valType&gt;&amp; x);
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; detail::tvec4&lt;bool&gt; isfinite(<span class="keyword">const</span> detail::tvec4&lt;valType&gt;&amp; x);
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00125.html#ga69fcbd40e0ce359f832329c0c93d5912" title="Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...">isinf</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec2&lt;bool&gt; <a class="code" href="a00125.html#ga69fcbd40e0ce359f832329c0c93d5912" title="Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...">isinf</a>(<span class="keyword">const</span> detail::tvec2&lt;genType&gt;&amp; x);
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec3&lt;bool&gt; <a class="code" href="a00125.html#ga69fcbd40e0ce359f832329c0c93d5912" title="Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...">isinf</a>(<span class="keyword">const</span> detail::tvec3&lt;genType&gt;&amp; x);
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec4&lt;bool&gt; <a class="code" href="a00125.html#ga69fcbd40e0ce359f832329c0c93d5912" title="Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...">isinf</a>(<span class="keyword">const</span> detail::tvec4&lt;genType&gt;&amp; x);
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00125.html#ga5efda4205aed487be515b5f2921303f8" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...">isnan</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec2&lt;bool&gt; <a class="code" href="a00125.html#ga5efda4205aed487be515b5f2921303f8" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...">isnan</a>(<span class="keyword">const</span> detail::tvec2&lt;genType&gt;&amp; x);
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec3&lt;bool&gt; <a class="code" href="a00125.html#ga5efda4205aed487be515b5f2921303f8" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...">isnan</a>(<span class="keyword">const</span> detail::tvec3&lt;genType&gt;&amp; x);
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec4&lt;bool&gt; <a class="code" href="a00125.html#ga5efda4205aed487be515b5f2921303f8" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...">isnan</a>(<span class="keyword">const</span> detail::tvec4&lt;genType&gt;&amp; x);
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keywordtype">bool</span> bool1;
<a name="l00095"></a>00095 <span class="keyword">typedef</span> detail::tvec2&lt;bool&gt; bool2;
<a name="l00096"></a>00096 <span class="keyword">typedef</span> detail::tvec3&lt;bool&gt; bool3;
<a name="l00097"></a>00097 <span class="keyword">typedef</span> detail::tvec4&lt;bool&gt; bool4;
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="keyword">typedef</span> <span class="keywordtype">bool</span> bool1x1;
<a name="l00100"></a>00100 <span class="keyword">typedef</span> detail::tmat2x2&lt;bool&gt; bool2x2;
<a name="l00101"></a>00101 <span class="keyword">typedef</span> detail::tmat2x3&lt;bool&gt; bool2x3;
<a name="l00102"></a>00102 <span class="keyword">typedef</span> detail::tmat2x4&lt;bool&gt; bool2x4;
<a name="l00103"></a>00103 <span class="keyword">typedef</span> detail::tmat3x2&lt;bool&gt; bool3x2;
<a name="l00104"></a>00104 <span class="keyword">typedef</span> detail::tmat3x3&lt;bool&gt; bool3x3;
<a name="l00105"></a>00105 <span class="keyword">typedef</span> detail::tmat3x4&lt;bool&gt; bool3x4;
<a name="l00106"></a>00106 <span class="keyword">typedef</span> detail::tmat4x2&lt;bool&gt; bool4x2;
<a name="l00107"></a>00107 <span class="keyword">typedef</span> detail::tmat4x3&lt;bool&gt; bool4x3;
<a name="l00108"></a>00108 <span class="keyword">typedef</span> detail::tmat4x4&lt;bool&gt; bool4x4;
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keywordtype">int</span> int1;
<a name="l00111"></a>00111 <span class="keyword">typedef</span> detail::tvec2&lt;int&gt; int2;
<a name="l00112"></a>00112 <span class="keyword">typedef</span> detail::tvec3&lt;int&gt; int3;
<a name="l00113"></a>00113 <span class="keyword">typedef</span> detail::tvec4&lt;int&gt; int4;
<a name="l00114"></a>00114
<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keywordtype">int</span> int1x1;
<a name="l00116"></a>00116 <span class="keyword">typedef</span> detail::tmat2x2&lt;int&gt; int2x2;
<a name="l00117"></a>00117 <span class="keyword">typedef</span> detail::tmat2x3&lt;int&gt; int2x3;
<a name="l00118"></a>00118 <span class="keyword">typedef</span> detail::tmat2x4&lt;int&gt; int2x4;
<a name="l00119"></a>00119 <span class="keyword">typedef</span> detail::tmat3x2&lt;int&gt; int3x2;
<a name="l00120"></a>00120 <span class="keyword">typedef</span> detail::tmat3x3&lt;int&gt; int3x3;
<a name="l00121"></a>00121 <span class="keyword">typedef</span> detail::tmat3x4&lt;int&gt; int3x4;
<a name="l00122"></a>00122 <span class="keyword">typedef</span> detail::tmat4x2&lt;int&gt; int4x2;
<a name="l00123"></a>00123 <span class="keyword">typedef</span> detail::tmat4x3&lt;int&gt; int4x3;
<a name="l00124"></a>00124 <span class="keyword">typedef</span> detail::tmat4x4&lt;int&gt; int4x4;
<a name="l00125"></a>00125
<a name="l00126"></a>00126 <span class="keyword">typedef</span> detail::half half1;
<a name="l00127"></a>00127 <span class="keyword">typedef</span> detail::tvec2&lt;detail::half&gt; half2;
<a name="l00128"></a>00128 <span class="keyword">typedef</span> detail::tvec3&lt;detail::half&gt; half3;
<a name="l00129"></a>00129 <span class="keyword">typedef</span> detail::tvec4&lt;detail::half&gt; half4;
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="keyword">typedef</span> detail::half half1x1;
<a name="l00132"></a>00132 <span class="keyword">typedef</span> detail::tmat2x2&lt;detail::half&gt; half2x2;
<a name="l00133"></a>00133 <span class="keyword">typedef</span> detail::tmat2x3&lt;detail::half&gt; half2x3;
<a name="l00134"></a>00134 <span class="keyword">typedef</span> detail::tmat2x4&lt;detail::half&gt; half2x4;
<a name="l00135"></a>00135 <span class="keyword">typedef</span> detail::tmat3x2&lt;detail::half&gt; half3x2;
<a name="l00136"></a>00136 <span class="keyword">typedef</span> detail::tmat3x3&lt;detail::half&gt; half3x3;
<a name="l00137"></a>00137 <span class="keyword">typedef</span> detail::tmat3x4&lt;detail::half&gt; half3x4;
<a name="l00138"></a>00138 <span class="keyword">typedef</span> detail::tmat4x2&lt;detail::half&gt; half4x2;
<a name="l00139"></a>00139 <span class="keyword">typedef</span> detail::tmat4x3&lt;detail::half&gt; half4x3;
<a name="l00140"></a>00140 <span class="keyword">typedef</span> detail::tmat4x4&lt;detail::half&gt; half4x4;
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="keyword">typedef</span> <span class="keywordtype">float</span> float1;
<a name="l00143"></a>00143 <span class="keyword">typedef</span> detail::tvec2&lt;float&gt; float2;
<a name="l00144"></a>00144 <span class="keyword">typedef</span> detail::tvec3&lt;float&gt; float3;
<a name="l00145"></a>00145 <span class="keyword">typedef</span> detail::tvec4&lt;float&gt; float4;
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keywordtype">float</span> float1x1;
<a name="l00148"></a>00148 <span class="keyword">typedef</span> detail::tmat2x2&lt;float&gt; float2x2;
<a name="l00149"></a>00149 <span class="keyword">typedef</span> detail::tmat2x3&lt;float&gt; float2x3;
<a name="l00150"></a>00150 <span class="keyword">typedef</span> detail::tmat2x4&lt;float&gt; float2x4;
<a name="l00151"></a>00151 <span class="keyword">typedef</span> detail::tmat3x2&lt;float&gt; float3x2;
<a name="l00152"></a>00152 <span class="keyword">typedef</span> detail::tmat3x3&lt;float&gt; float3x3;
<a name="l00153"></a>00153 <span class="keyword">typedef</span> detail::tmat3x4&lt;float&gt; float3x4;
<a name="l00154"></a>00154 <span class="keyword">typedef</span> detail::tmat4x2&lt;float&gt; float4x2;
<a name="l00155"></a>00155 <span class="keyword">typedef</span> detail::tmat4x3&lt;float&gt; float4x3;
<a name="l00156"></a>00156 <span class="keyword">typedef</span> detail::tmat4x4&lt;float&gt; float4x4;
<a name="l00157"></a>00157
<a name="l00158"></a>00158 <span class="keyword">typedef</span> <span class="keywordtype">double</span> double1;
<a name="l00159"></a>00159 <span class="keyword">typedef</span> detail::tvec2&lt;double&gt; double2;
<a name="l00160"></a>00160 <span class="keyword">typedef</span> detail::tvec3&lt;double&gt; double3;
<a name="l00161"></a>00161 <span class="keyword">typedef</span> detail::tvec4&lt;double&gt; double4;
<a name="l00162"></a>00162
<a name="l00163"></a>00163 <span class="keyword">typedef</span> <span class="keywordtype">double</span> double1x1;
<a name="l00164"></a>00164 <span class="keyword">typedef</span> detail::tmat2x2&lt;double&gt; double2x2;
<a name="l00165"></a>00165 <span class="keyword">typedef</span> detail::tmat2x3&lt;double&gt; double2x3;
<a name="l00166"></a>00166 <span class="keyword">typedef</span> detail::tmat2x4&lt;double&gt; double2x4;
<a name="l00167"></a>00167 <span class="keyword">typedef</span> detail::tmat3x2&lt;double&gt; double3x2;
<a name="l00168"></a>00168 <span class="keyword">typedef</span> detail::tmat3x3&lt;double&gt; double3x3;
<a name="l00169"></a>00169 <span class="keyword">typedef</span> detail::tmat3x4&lt;double&gt; double3x4;
<a name="l00170"></a>00170 <span class="keyword">typedef</span> detail::tmat4x2&lt;double&gt; double4x2;
<a name="l00171"></a>00171 <span class="keyword">typedef</span> detail::tmat4x3&lt;double&gt; double4x3;
<a name="l00172"></a>00172 <span class="keyword">typedef</span> detail::tmat4x4&lt;double&gt; double4x4;
<a name="l00173"></a>00173
<a name="l00175"></a>00175 }<span class="comment">//namespace glm</span>
<a name="l00176"></a>00176
<a name="l00177"></a>00177 <span class="preprocessor">#include &quot;compatibility.inl&quot;</span>
<a name="l00178"></a>00178
<a name="l00179"></a>00179 <span class="preprocessor">#endif//GLM_GTX_compatibility</span>
<a name="l00180"></a>00180 <span class="preprocessor"></span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>component_wise.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">component_wise.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00015_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00159.html">GLM_GTX_component_wise: Component wise</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-05-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00015_source.html">component_wise.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,137 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>component_wise.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">component_wise.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00015.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_component_wise</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_component_wise GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_component_wise extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00056"></a>00056 <span class="keyword">typename</span> genType::value_type compAdd(
<a name="l00057"></a>00057 genType <span class="keyword">const</span> &amp; v);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00062"></a>00062 <span class="keyword">typename</span> genType::value_type compMul(
<a name="l00063"></a>00063 genType <span class="keyword">const</span> &amp; v);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00068"></a>00068 <span class="keyword">typename</span> genType::value_type compMin(
<a name="l00069"></a>00069 genType <span class="keyword">const</span> &amp; v);
<a name="l00070"></a>00070
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00074"></a>00074 <span class="keyword">typename</span> genType::value_type compMax(
<a name="l00075"></a>00075 genType <span class="keyword">const</span> &amp; v);
<a name="l00076"></a>00076
<a name="l00078"></a>00078 }<span class="comment">//namespace glm</span>
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="preprocessor">#include &quot;component_wise.inl&quot;</span>
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="preprocessor">#endif//GLM_GTX_component_wise</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,137 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>constants.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">constants.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00016_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e">e</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga73bc2500704c8c25dc3cde534134ca20">epsilon</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga4ff7948d6e7f40eaee43ce6cea887d22">euler</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga2a4f943607fcf389b7b4dd87e99e50b2">golden_ratio</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga7d3f5974acfdfee6bfb3d9dea93a7ba1">half_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gab794cac99dec97664ba7cb0d160e3ac6">ln_ln_two</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga255e632bb482a96f8fa34482ab7f0c24">ln_ten</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gadeb5fef19262158f39a39abfe58558ad">ln_two</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gad8d83a66c551f43b816f146f20dcdb85">one</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga5d4fddb4150d38cc05f7a06adbc7be6f">one_over_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga82228b772a59165585e05e37365b2e8b">one_over_root_two</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga91033e239e639b830ce0a4e7d84ff7b6">pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaa3878a0bb7cf0c77b899560a80847f12">quarter_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaa907e64aeec08a407739aa090f399820">root_five</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gab1bc1acc5958f93a0e677756bdcb4a27">root_half_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gae86af6ec13101467880e06b54e3e0d71">root_ln_four</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaa83b7a56d3a4386ab4c8ef6544a0e9aa">root_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaaa0072128a49eef880068a8078594609">root_three</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaebae6e8300655e1e1147da9c25946785">root_two</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gae3334603a5994d3585fd786d98097d82">root_two_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gab079778327ce3a341f95ceee16f1d03a">third</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaef0c7e4c219ae01db48a20eeb19f47b0">two_over_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga8a412c16d1aa7bbdd0d03e29aff30ebb">two_over_root_pi</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga0ab78128af2f43e313e83eb60a00e321">two_thirds</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga9f4649d36b09c63ee2bccf180f6f3985">zero</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00160.html">GLM_GTX_constants: Provide build-in constants</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2011-09-30 / 2011-09-30 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00141.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float: Half-precision floating-point based types and functions</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00016_source.html">constants.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,198 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>constants.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">constants.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00016.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_constants</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_constants GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_constants extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00059"></a>00059 T <a class="code" href="a00160.html#ga73bc2500704c8c25dc3cde534134ca20" title="Return the epsilon constant for floating point types.">epsilon</a>();
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00064"></a>00064 T <a class="code" href="a00160.html#ga9f4649d36b09c63ee2bccf180f6f3985" title="Return 0.">zero</a>();
<a name="l00065"></a>00065
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00069"></a>00069 T <a class="code" href="a00160.html#gad8d83a66c551f43b816f146f20dcdb85" title="Return 1.">one</a>();
<a name="l00070"></a>00070
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00074"></a>00074 T <a class="code" href="a00160.html#ga91033e239e639b830ce0a4e7d84ff7b6" title="Return the pi constant.">pi</a>();
<a name="l00075"></a>00075
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00079"></a>00079 T <a class="code" href="a00160.html#gaa83b7a56d3a4386ab4c8ef6544a0e9aa" title="Return square root of pi.">root_pi</a>();
<a name="l00080"></a>00080
<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00084"></a>00084 T <a class="code" href="a00160.html#ga7d3f5974acfdfee6bfb3d9dea93a7ba1" title="Return pi / 2.">half_pi</a>();
<a name="l00085"></a>00085
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00089"></a>00089 T <a class="code" href="a00160.html#gaa3878a0bb7cf0c77b899560a80847f12" title="Return pi / 4.">quarter_pi</a>();
<a name="l00090"></a>00090
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00094"></a>00094 T <a class="code" href="a00160.html#ga5d4fddb4150d38cc05f7a06adbc7be6f" title="Return 1 / pi.">one_over_pi</a>();
<a name="l00095"></a>00095
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00099"></a>00099 T <a class="code" href="a00160.html#gaef0c7e4c219ae01db48a20eeb19f47b0" title="Return 2 / pi.">two_over_pi</a>();
<a name="l00100"></a>00100
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00104"></a>00104 T <a class="code" href="a00160.html#ga8a412c16d1aa7bbdd0d03e29aff30ebb" title="Return 2 / sqrt(pi).">two_over_root_pi</a>();
<a name="l00105"></a>00105
<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00109"></a>00109 T <a class="code" href="a00160.html#ga82228b772a59165585e05e37365b2e8b" title="Return 1 / sqrt(2).">one_over_root_two</a>();
<a name="l00110"></a>00110
<a name="l00113"></a>00113 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00114"></a>00114 T <a class="code" href="a00160.html#gab1bc1acc5958f93a0e677756bdcb4a27" title="Return sqrt(pi / 2).">root_half_pi</a>();
<a name="l00115"></a>00115
<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00119"></a>00119 T <a class="code" href="a00160.html#gae3334603a5994d3585fd786d98097d82" title="Return sqrt(2 * pi).">root_two_pi</a>();
<a name="l00120"></a>00120
<a name="l00123"></a>00123 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00124"></a>00124 T <a class="code" href="a00160.html#gae86af6ec13101467880e06b54e3e0d71" title="Return sqrt(ln(4)).">root_ln_four</a>();
<a name="l00125"></a>00125
<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00129"></a>00129 T <a class="code" href="a00160.html#gab932c1030b8bef04437a2d066dc9dc6e" title="Return e constant.">e</a>();
<a name="l00130"></a>00130
<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00134"></a>00134 T <a class="code" href="a00160.html#ga4ff7948d6e7f40eaee43ce6cea887d22" title="Return Euler&#39;s constant.">euler</a>();
<a name="l00135"></a>00135
<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00139"></a>00139 T <a class="code" href="a00160.html#gaebae6e8300655e1e1147da9c25946785" title="Return sqrt(2).">root_two</a>();
<a name="l00140"></a>00140
<a name="l00143"></a>00143 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00144"></a>00144 T <a class="code" href="a00160.html#gaaa0072128a49eef880068a8078594609" title="Return sqrt(3).">root_three</a>();
<a name="l00145"></a>00145
<a name="l00148"></a>00148 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00149"></a>00149 T <a class="code" href="a00160.html#gaa907e64aeec08a407739aa090f399820" title="Return sqrt(5).">root_five</a>();
<a name="l00150"></a>00150
<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00154"></a>00154 T <a class="code" href="a00160.html#gadeb5fef19262158f39a39abfe58558ad" title="Return ln(2).">ln_two</a>();
<a name="l00155"></a>00155
<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00159"></a>00159 T <a class="code" href="a00160.html#ga255e632bb482a96f8fa34482ab7f0c24" title="Return ln(10).">ln_ten</a>();
<a name="l00160"></a>00160
<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00164"></a>00164 T <a class="code" href="a00160.html#gab794cac99dec97664ba7cb0d160e3ac6" title="Return ln(ln(2)).">ln_ln_two</a>();
<a name="l00165"></a>00165
<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00169"></a>00169 T <a class="code" href="a00160.html#gab079778327ce3a341f95ceee16f1d03a" title="Return 1 / 3.">third</a>();
<a name="l00170"></a>00170
<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00174"></a>00174 T <a class="code" href="a00160.html#ga0ab78128af2f43e313e83eb60a00e321" title="Return 2 / 3.">two_thirds</a>();
<a name="l00175"></a>00175
<a name="l00178"></a>00178 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00179"></a>00179 T <a class="code" href="a00160.html#ga2a4f943607fcf389b7b4dd87e99e50b2" title="Return the golden ratio constant.">golden_ratio</a>();
<a name="l00180"></a>00180
<a name="l00182"></a>00182 } <span class="comment">//namespace glm</span>
<a name="l00183"></a>00183
<a name="l00184"></a>00184 <span class="preprocessor">#include &quot;constants.inl&quot;</span>
<a name="l00185"></a>00185
<a name="l00186"></a>00186 <span class="preprocessor">#endif//GLM_GTX_constants</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,83 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>epsilon.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">epsilon.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00017_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00161.html">GLM_GTX_epsilon: Epsilon comparison</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-05-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00141.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float: Half-precision floating-point based types and functions</a> (dependence) </dd>
<dd>
<a class="el" href="a00147.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion: Quaternion types and functions</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00017_source.html">epsilon.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,137 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>epsilon.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">epsilon.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00017.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#ifndef GLM_GTX_epsilon</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_epsilon GLM_VERSION</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="comment">// Dependency:</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_epsilon extension included&quot;)</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span>
<a name="l00052"></a>00052 <span class="keyword">namespace </span>glm
<a name="l00053"></a>00053 {
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00060"></a>00060 <span class="keywordtype">bool</span> equalEpsilon(
<a name="l00061"></a>00061 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00062"></a>00062 genTypeT <span class="keyword">const</span> &amp; y,
<a name="l00063"></a>00063 genTypeU <span class="keyword">const</span> &amp; <a class="code" href="a00160.html#ga73bc2500704c8c25dc3cde534134ca20" title="Return the epsilon constant for floating point types.">epsilon</a>);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00068"></a>00068 <span class="keywordtype">bool</span> notEqualEpsilon(
<a name="l00069"></a>00069 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00070"></a>00070 genTypeT <span class="keyword">const</span> &amp; y,
<a name="l00071"></a>00071 genTypeU <span class="keyword">const</span> &amp; <a class="code" href="a00160.html#ga73bc2500704c8c25dc3cde534134ca20" title="Return the epsilon constant for floating point types.">epsilon</a>);
<a name="l00072"></a>00072
<a name="l00074"></a>00074 }<span class="comment">//namespace glm</span>
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="preprocessor">#include &quot;epsilon.inl&quot;</span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#endif//GLM_GTX_epsilon</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>euler_angles.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">euler_angles.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00018_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00162.html">GLM_GTX_euler_angles: Matrix from euler angles</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-12-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00141.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float: Half-precision floating-point based types and functions</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00018_source.html">euler_angles.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,189 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>euler_angles.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">euler_angles.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00018.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_euler_angles</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_euler_angles GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_euler_angles extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00058"></a>00058 detail::tmat4x4&lt;valType&gt; eulerAngleX(
<a name="l00059"></a>00059 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00064"></a>00064 detail::tmat4x4&lt;valType&gt; eulerAngleY(
<a name="l00065"></a>00065 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00066"></a>00066
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00070"></a>00070 detail::tmat4x4&lt;valType&gt; eulerAngleZ(
<a name="l00071"></a>00071 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00072"></a>00072
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00076"></a>00076 detail::tmat4x4&lt;valType&gt; eulerAngleXY(
<a name="l00077"></a>00077 valType <span class="keyword">const</span> &amp; angleX,
<a name="l00078"></a>00078 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00079"></a>00079
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00083"></a>00083 detail::tmat4x4&lt;valType&gt; eulerAngleYX(
<a name="l00084"></a>00084 valType <span class="keyword">const</span> &amp; angleY,
<a name="l00085"></a>00085 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00090"></a>00090 detail::tmat4x4&lt;valType&gt; eulerAngleXZ(
<a name="l00091"></a>00091 valType <span class="keyword">const</span> &amp; angleX,
<a name="l00092"></a>00092 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00093"></a>00093
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00097"></a>00097 detail::tmat4x4&lt;valType&gt; eulerAngleZX(
<a name="l00098"></a>00098 valType <span class="keyword">const</span> &amp; angleZ,
<a name="l00099"></a>00099 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00100"></a>00100
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00104"></a>00104 detail::tmat4x4&lt;valType&gt; eulerAngleYZ(
<a name="l00105"></a>00105 valType <span class="keyword">const</span> &amp; angleY,
<a name="l00106"></a>00106 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00107"></a>00107
<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00111"></a>00111 detail::tmat4x4&lt;valType&gt; eulerAngleZY(
<a name="l00112"></a>00112 valType <span class="keyword">const</span> &amp; angleZ,
<a name="l00113"></a>00113 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00114"></a>00114
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00118"></a>00118 detail::tmat4x4&lt;valType&gt; eulerAngleYXZ(
<a name="l00119"></a>00119 valType <span class="keyword">const</span> &amp; yaw,
<a name="l00120"></a>00120 valType <span class="keyword">const</span> &amp; pitch,
<a name="l00121"></a>00121 valType <span class="keyword">const</span> &amp; roll);
<a name="l00122"></a>00122
<a name="l00125"></a>00125 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00126"></a>00126 detail::tmat4x4&lt;valType&gt; yawPitchRoll(
<a name="l00127"></a>00127 valType <span class="keyword">const</span> &amp; yaw,
<a name="l00128"></a>00128 valType <span class="keyword">const</span> &amp; pitch,
<a name="l00129"></a>00129 valType <span class="keyword">const</span> &amp; roll);
<a name="l00130"></a>00130
<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00134"></a>00134 detail::tmat2x2&lt;T&gt; orientate2(T <span class="keyword">const</span> &amp; angle);
<a name="l00135"></a>00135
<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00139"></a>00139 detail::tmat3x3&lt;T&gt; orientate3(T <span class="keyword">const</span> &amp; angle);
<a name="l00140"></a>00140
<a name="l00143"></a>00143 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00144"></a>00144 detail::tmat3x3&lt;T&gt; orientate3(detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; angles);
<a name="l00145"></a>00145
<a name="l00148"></a>00148 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00149"></a>00149 detail::tmat4x4&lt;T&gt; orientate4(detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; angles);
<a name="l00150"></a>00150
<a name="l00152"></a>00152 }<span class="comment">//namespace glm</span>
<a name="l00153"></a>00153
<a name="l00154"></a>00154 <span class="preprocessor">#include &quot;euler_angles.inl&quot;</span>
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="preprocessor">#endif//GLM_GTX_euler_angles</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,210 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>ext.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ext.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040
<a name="l00041"></a>00041
<a name="l00042"></a>00042
<a name="l00043"></a>00043
<a name="l00044"></a>00044
<a name="l00045"></a>00045
<a name="l00046"></a>00046
<a name="l00047"></a>00047
<a name="l00048"></a>00048
<a name="l00049"></a>00049
<a name="l00050"></a>00050
<a name="l00051"></a>00051
<a name="l00052"></a>00052
<a name="l00053"></a>00053
<a name="l00054"></a>00054
<a name="l00055"></a>00055
<a name="l00056"></a>00056
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#ifndef glm_ext</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define glm_ext</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span>
<a name="l00061"></a>00061 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: All extensions included (not recommanded)&quot;)</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGES</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;<a class="code" href="a00036.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/half_float.hpp</a>&quot;</span>
<a name="l00067"></a>00067 <span class="preprocessor">#include &quot;<a class="code" href="a00051.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/matrix_access.hpp</a>&quot;</span>
<a name="l00068"></a>00068 <span class="preprocessor">#include &quot;<a class="code" href="a00053.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/matrix_integer.hpp</a>&quot;</span>
<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;<a class="code" href="a00055.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/matrix_inverse.hpp</a>&quot;</span>
<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;<a class="code" href="a00059.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/matrix_transform.hpp</a>&quot;</span>
<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;<a class="code" href="a00075.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/quaternion.hpp</a>&quot;</span>
<a name="l00072"></a>00072 <span class="preprocessor">#include &quot;<a class="code" href="a00088.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/swizzle.hpp</a>&quot;</span>
<a name="l00073"></a>00073 <span class="preprocessor">#include &quot;<a class="code" href="a00106.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/type_precision.hpp</a>&quot;</span>
<a name="l00074"></a>00074 <span class="preprocessor">#include &quot;<a class="code" href="a00107.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtc/type_ptr.hpp</a>&quot;</span>
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="preprocessor">#include &quot;<a class="code" href="a00008.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/associated_min_max.hpp</a>&quot;</span>
<a name="l00077"></a>00077 <span class="preprocessor">#include &quot;<a class="code" href="a00009.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/bit.hpp</a>&quot;</span>
<a name="l00078"></a>00078 <span class="preprocessor">#include &quot;./gtx/closest_point.hpp&quot;</span>
<a name="l00079"></a>00079 <span class="preprocessor">#include &quot;<a class="code" href="a00011.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/color_cast.hpp</a>&quot;</span>
<a name="l00080"></a>00080 <span class="preprocessor">#include &quot;<a class="code" href="a00012.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/color_space.hpp</a>&quot;</span>
<a name="l00081"></a>00081 <span class="preprocessor">#include &quot;<a class="code" href="a00013.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/color_space_YCoCg.hpp</a>&quot;</span>
<a name="l00082"></a>00082 <span class="preprocessor">#include &quot;<a class="code" href="a00014.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/compatibility.hpp</a>&quot;</span>
<a name="l00083"></a>00083 <span class="preprocessor">#include &quot;<a class="code" href="a00015.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/component_wise.hpp</a>&quot;</span>
<a name="l00084"></a>00084 <span class="preprocessor">#include &quot;<a class="code" href="a00017.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/epsilon.hpp</a>&quot;</span>
<a name="l00085"></a>00085 <span class="preprocessor">#include &quot;<a class="code" href="a00018.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/euler_angles.hpp</a>&quot;</span>
<a name="l00086"></a>00086 <span class="preprocessor">#include &quot;<a class="code" href="a00020.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/extend.hpp</a>&quot;</span>
<a name="l00087"></a>00087 <span class="preprocessor">#include &quot;<a class="code" href="a00021.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/extented_min_max.hpp</a>&quot;</span>
<a name="l00088"></a>00088 <span class="preprocessor">#include &quot;<a class="code" href="a00022.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/fast_exponential.hpp</a>&quot;</span>
<a name="l00089"></a>00089 <span class="preprocessor">#include &quot;<a class="code" href="a00023.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/fast_square_root.hpp</a>&quot;</span>
<a name="l00090"></a>00090 <span class="preprocessor">#include &quot;<a class="code" href="a00024.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/fast_trigonometry.hpp</a>&quot;</span>
<a name="l00091"></a>00091 <span class="preprocessor">#include &quot;<a class="code" href="a00035.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/gradient_paint.hpp</a>&quot;</span>
<a name="l00092"></a>00092 <span class="preprocessor">#include &quot;<a class="code" href="a00037.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/handed_coordinate_space.hpp</a>&quot;</span>
<a name="l00093"></a>00093 <span class="preprocessor">#include &quot;<a class="code" href="a00039.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/inertia.hpp</a>&quot;</span>
<a name="l00094"></a>00094 <span class="preprocessor">#include &quot;<a class="code" href="a00040.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/int_10_10_10_2.hpp</a>&quot;</span>
<a name="l00095"></a>00095 <span class="preprocessor">#include &quot;<a class="code" href="a00041.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/integer.hpp</a>&quot;</span>
<a name="l00096"></a>00096 <span class="preprocessor">#include &quot;<a class="code" href="a00042.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/intersect.hpp</a>&quot;</span>
<a name="l00097"></a>00097 <span class="preprocessor">#include &quot;<a class="code" href="a00049.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/log_base.hpp</a>&quot;</span>
<a name="l00098"></a>00098 <span class="preprocessor">#include &quot;<a class="code" href="a00052.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/matrix_cross_product.hpp</a>&quot;</span>
<a name="l00099"></a>00099 <span class="preprocessor">#include &quot;<a class="code" href="a00054.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/matrix_interpolation.hpp</a>&quot;</span>
<a name="l00100"></a>00100 <span class="preprocessor">#include &quot;<a class="code" href="a00056.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/matrix_major_storage.hpp</a>&quot;</span>
<a name="l00101"></a>00101 <span class="preprocessor">#include &quot;<a class="code" href="a00057.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/matrix_operation.hpp</a>&quot;</span>
<a name="l00102"></a>00102 <span class="preprocessor">#include &quot;<a class="code" href="a00058.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/matrix_query.hpp</a>&quot;</span>
<a name="l00103"></a>00103 <span class="preprocessor">#include &quot;<a class="code" href="a00060.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/mixed_product.hpp</a>&quot;</span>
<a name="l00104"></a>00104 <span class="preprocessor">#include &quot;<a class="code" href="a00061.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/multiple.hpp</a>&quot;</span>
<a name="l00105"></a>00105 <span class="preprocessor">#include &quot;<a class="code" href="a00063.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/noise.hpp</a>&quot;</span>
<a name="l00106"></a>00106 <span class="preprocessor">#include &quot;<a class="code" href="a00064.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/norm.hpp</a>&quot;</span>
<a name="l00107"></a>00107 <span class="preprocessor">#include &quot;<a class="code" href="a00065.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/normal.hpp</a>&quot;</span>
<a name="l00108"></a>00108 <span class="preprocessor">#include &quot;<a class="code" href="a00066.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/normalize_dot.hpp</a>&quot;</span>
<a name="l00109"></a>00109 <span class="preprocessor">#include &quot;<a class="code" href="a00067.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/number_precision.hpp</a>&quot;</span>
<a name="l00110"></a>00110 <span class="preprocessor">#include &quot;<a class="code" href="a00068.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/ocl_type.hpp</a>&quot;</span>
<a name="l00111"></a>00111 <span class="preprocessor">#include &quot;<a class="code" href="a00069.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/optimum_pow.hpp</a>&quot;</span>
<a name="l00112"></a>00112 <span class="preprocessor">#include &quot;<a class="code" href="a00070.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/orthonormalize.hpp</a>&quot;</span>
<a name="l00113"></a>00113 <span class="preprocessor">#include &quot;<a class="code" href="a00072.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/perpendicular.hpp</a>&quot;</span>
<a name="l00114"></a>00114 <span class="preprocessor">#include &quot;<a class="code" href="a00073.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/polar_coordinates.hpp</a>&quot;</span>
<a name="l00115"></a>00115 <span class="preprocessor">#include &quot;<a class="code" href="a00074.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/projection.hpp</a>&quot;</span>
<a name="l00116"></a>00116 <span class="preprocessor">#include &quot;<a class="code" href="a00076.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/quaternion.hpp</a>&quot;</span>
<a name="l00117"></a>00117 <span class="preprocessor">#include &quot;<a class="code" href="a00078.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/random.hpp</a>&quot;</span>
<a name="l00118"></a>00118 <span class="preprocessor">#include &quot;<a class="code" href="a00079.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/raw_data.hpp</a>&quot;</span>
<a name="l00119"></a>00119 <span class="preprocessor">#include &quot;<a class="code" href="a00080.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/reciprocal.hpp</a>&quot;</span>
<a name="l00120"></a>00120 <span class="preprocessor">#include &quot;<a class="code" href="a00081.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/rotate_vector.hpp</a>&quot;</span>
<a name="l00121"></a>00121 <span class="preprocessor">#include &quot;<a class="code" href="a00085.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/spline.hpp</a>&quot;</span>
<a name="l00122"></a>00122 <span class="preprocessor">#include &quot;<a class="code" href="a00086.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/std_based_type.hpp</a>&quot;</span>
<a name="l00123"></a>00123 <span class="preprocessor">#include &quot;<a class="code" href="a00087.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/string_cast.hpp</a>&quot;</span>
<a name="l00124"></a>00124 <span class="preprocessor">#include &quot;<a class="code" href="a00089.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/transform.hpp</a>&quot;</span>
<a name="l00125"></a>00125 <span class="preprocessor">#include &quot;<a class="code" href="a00090.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/transform2.hpp</a>&quot;</span>
<a name="l00126"></a>00126 <span class="preprocessor">#include &quot;<a class="code" href="a00114.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/ulp.hpp</a>&quot;</span>
<a name="l00127"></a>00127 <span class="preprocessor">#include &quot;<a class="code" href="a00116.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/vec1.hpp</a>&quot;</span>
<a name="l00128"></a>00128 <span class="preprocessor">#include &quot;<a class="code" href="a00117.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/vector_access.hpp</a>&quot;</span>
<a name="l00129"></a>00129 <span class="preprocessor">#include &quot;<a class="code" href="a00118.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/vector_angle.hpp</a>&quot;</span>
<a name="l00130"></a>00130 <span class="preprocessor">#include &quot;<a class="code" href="a00119.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/vector_query.hpp</a>&quot;</span>
<a name="l00131"></a>00131 <span class="preprocessor">#include &quot;<a class="code" href="a00120.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/verbose_operator.hpp</a>&quot;</span>
<a name="l00132"></a>00132 <span class="preprocessor">#include &quot;<a class="code" href="a00121.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/wrap.hpp</a>&quot;</span>
<a name="l00133"></a>00133
<a name="l00134"></a>00134 <span class="preprocessor">#if(GLM_ARCH &amp; GLM_ARCH_SSE2)</span>
<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor"># include &quot;<a class="code" href="a00084.html" title="OpenGL Mathematics (glm.g-truc.net)">./gtx/simd_vec4.hpp</a>&quot;</span>
<a name="l00136"></a>00136 <span class="preprocessor"># include &quot;./gtx/simd_mat4.hpp&quot;</span>
<a name="l00137"></a>00137 <span class="preprocessor">#endif</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span>
<a name="l00139"></a>00139 <span class="preprocessor">#include &quot;<a class="code" href="a00122.html" title="OpenGL Mathematics (glm.g-truc.net)">./virtrev/xstream.hpp</a>&quot;</span>
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <span class="comment">//const float goldenRatio = 1.618033988749894848f;</span>
<a name="l00142"></a>00142 <span class="comment">//const float pi = 3.141592653589793238f;</span>
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <span class="preprocessor">#endif //glm_ext</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>extend.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">extend.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00020_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00163.html">GLM_GTX_extend: Position extending</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-01-07 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00020_source.html">extend.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,127 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>extend.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">extend.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00020.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_extend</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_extend GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_extend extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00056"></a>00056 genType extend(
<a name="l00057"></a>00057 genType <span class="keyword">const</span> &amp; Origin,
<a name="l00058"></a>00058 genType <span class="keyword">const</span> &amp; Source,
<a name="l00059"></a>00059 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> Length);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 }<span class="comment">//namespace glm</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;extend.inl&quot;</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif//GLM_GTX_extend</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>extented_min_max.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">extented_min_max.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00021_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00164.html">GLM_GTX_extented_min_max: Extended min max</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-03-14 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
gtx_half_float (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00021_source.html">extented_min_max.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,233 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>extented_min_max.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">extented_min_max.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00021.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_extented_min_max</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_extented_min_max GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_extented_min_max extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00058"></a>00058 T <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00059"></a>00059 T <span class="keyword">const</span> &amp; x,
<a name="l00060"></a>00060 T <span class="keyword">const</span> &amp; y,
<a name="l00061"></a>00061 T <span class="keyword">const</span> &amp; z);
<a name="l00062"></a>00062
<a name="l00065"></a>00065 <span class="keyword">template</span>
<a name="l00066"></a>00066 &lt;
<a name="l00067"></a>00067 <span class="keyword">typename</span> T,
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00069"></a>00069 &gt;
<a name="l00070"></a>00070 C&lt;T&gt; <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00071"></a>00071 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00072"></a>00072 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00073"></a>00073 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z);
<a name="l00074"></a>00074
<a name="l00077"></a>00077 <span class="keyword">template</span>
<a name="l00078"></a>00078 &lt;
<a name="l00079"></a>00079 <span class="keyword">typename</span> T,
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00081"></a>00081 &gt;
<a name="l00082"></a>00082 C&lt;T&gt; <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00083"></a>00083 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00084"></a>00084 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00085"></a>00085 C&lt;T&gt; <span class="keyword">const</span> &amp; z);
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00090"></a>00090 T <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00091"></a>00091 T <span class="keyword">const</span> &amp; x,
<a name="l00092"></a>00092 T <span class="keyword">const</span> &amp; y,
<a name="l00093"></a>00093 T <span class="keyword">const</span> &amp; z,
<a name="l00094"></a>00094 T <span class="keyword">const</span> &amp; w);
<a name="l00095"></a>00095
<a name="l00098"></a>00098 <span class="keyword">template</span>
<a name="l00099"></a>00099 &lt;
<a name="l00100"></a>00100 <span class="keyword">typename</span> T,
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00102"></a>00102 &gt;
<a name="l00103"></a>00103 C&lt;T&gt; <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00104"></a>00104 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00105"></a>00105 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00106"></a>00106 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z,
<a name="l00107"></a>00107 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; w);
<a name="l00108"></a>00108
<a name="l00111"></a>00111 <span class="keyword">template</span>
<a name="l00112"></a>00112 &lt;
<a name="l00113"></a>00113 <span class="keyword">typename</span> T,
<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00115"></a>00115 &gt;
<a name="l00116"></a>00116 C&lt;T&gt; <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00117"></a>00117 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00118"></a>00118 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00119"></a>00119 C&lt;T&gt; <span class="keyword">const</span> &amp; z,
<a name="l00120"></a>00120 C&lt;T&gt; <span class="keyword">const</span> &amp; w);
<a name="l00121"></a>00121
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00125"></a>00125 T <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00126"></a>00126 T <span class="keyword">const</span> &amp; x,
<a name="l00127"></a>00127 T <span class="keyword">const</span> &amp; y,
<a name="l00128"></a>00128 T <span class="keyword">const</span> &amp; z);
<a name="l00129"></a>00129
<a name="l00132"></a>00132 <span class="keyword">template</span>
<a name="l00133"></a>00133 &lt;
<a name="l00134"></a>00134 <span class="keyword">typename</span> T,
<a name="l00135"></a>00135 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00136"></a>00136 &gt;
<a name="l00137"></a>00137 C&lt;T&gt; <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00138"></a>00138 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00139"></a>00139 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00140"></a>00140 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z);
<a name="l00141"></a>00141
<a name="l00144"></a>00144 <span class="keyword">template</span>
<a name="l00145"></a>00145 &lt;
<a name="l00146"></a>00146 <span class="keyword">typename</span> T,
<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00148"></a>00148 &gt;
<a name="l00149"></a>00149 C&lt;T&gt; <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00150"></a>00150 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00151"></a>00151 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00152"></a>00152 C&lt;T&gt; <span class="keyword">const</span> &amp; z);
<a name="l00153"></a>00153
<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00157"></a>00157 T <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00158"></a>00158 T <span class="keyword">const</span> &amp; x,
<a name="l00159"></a>00159 T <span class="keyword">const</span> &amp; y,
<a name="l00160"></a>00160 T <span class="keyword">const</span> &amp; z,
<a name="l00161"></a>00161 T <span class="keyword">const</span> &amp; w);
<a name="l00162"></a>00162
<a name="l00165"></a>00165 <span class="keyword">template</span>
<a name="l00166"></a>00166 &lt;
<a name="l00167"></a>00167 <span class="keyword">typename</span> T,
<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00169"></a>00169 &gt;
<a name="l00170"></a>00170 C&lt;T&gt; <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00171"></a>00171 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00172"></a>00172 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00173"></a>00173 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z,
<a name="l00174"></a>00174 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; w);
<a name="l00175"></a>00175
<a name="l00178"></a>00178 <span class="keyword">template</span>
<a name="l00179"></a>00179 &lt;
<a name="l00180"></a>00180 <span class="keyword">typename</span> T,
<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00182"></a>00182 &gt;
<a name="l00183"></a>00183 C&lt;T&gt; <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00184"></a>00184 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00185"></a>00185 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00186"></a>00186 C&lt;T&gt; <span class="keyword">const</span> &amp; z,
<a name="l00187"></a>00187 C&lt;T&gt; <span class="keyword">const</span> &amp; w);
<a name="l00188"></a>00188
<a name="l00190"></a>00190 }<span class="comment">//namespace glm</span>
<a name="l00191"></a>00191
<a name="l00192"></a>00192 <span class="preprocessor">#include &quot;extented_min_max.inl&quot;</span>
<a name="l00193"></a>00193
<a name="l00194"></a>00194 <span class="preprocessor">#endif//GLM_GTX_extented_min_max</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>fast_exponential.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_exponential.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00022_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00165.html">GLM_GTX_fast_exponential: Fast exponentiation functions</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-01-09 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
gtx_half_float (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00022_source.html">fast_exponential.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,148 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>fast_exponential.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_exponential.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00022.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_fast_exponential</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_fast_exponential GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_fast_exponential extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00058"></a>00058 genType fastPow(
<a name="l00059"></a>00059 genType <span class="keyword">const</span> &amp; x,
<a name="l00060"></a>00060 genType <span class="keyword">const</span> &amp; y);
<a name="l00061"></a>00061
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00065"></a>00065 genTypeT fastPow(
<a name="l00066"></a>00066 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00067"></a>00067 genTypeU <span class="keyword">const</span> &amp; y);
<a name="l00068"></a>00068
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00072"></a>00072 T fastExp(<span class="keyword">const</span> T&amp; x);
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00077"></a>00077 T fastLog(<span class="keyword">const</span> T&amp; x);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00082"></a>00082 T fastExp2(<span class="keyword">const</span> T&amp; x);
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00087"></a>00087 T fastLog2(<span class="keyword">const</span> T&amp; x);
<a name="l00088"></a>00088
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00092"></a>00092 T fastLn(<span class="keyword">const</span> T&amp; x);
<a name="l00093"></a>00093
<a name="l00095"></a>00095 }<span class="comment">//namespace glm</span>
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="preprocessor">#include &quot;fast_exponential.inl&quot;</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="preprocessor">#endif//GLM_GTX_fast_exponential</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>fast_square_root.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_square_root.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00023_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00166.html">GLM_GTX_fast_square_root: Fast square root functions</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-01-04 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00023_source.html">fast_square_root.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,138 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>fast_square_root.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_square_root.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00023.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#ifndef GLM_GTX_fast_square_root</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_fast_square_root GLM_VERSION</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="comment">// Dependency:</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_fast_square_root extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00058"></a>00058 genType fastSqrt(genType <span class="keyword">const</span> &amp; x);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00063"></a>00063 genType fastInverseSqrt(genType <span class="keyword">const</span> &amp; x);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00068"></a>00068 <span class="keyword">typename</span> genType::value_type fastLength(genType <span class="keyword">const</span> &amp; x);
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00073"></a>00073 <span class="keyword">typename</span> genType::value_type fastDistance(genType <span class="keyword">const</span> &amp; x, genType <span class="keyword">const</span> &amp; y);
<a name="l00074"></a>00074
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00078"></a>00078 genType fastNormalize(genType <span class="keyword">const</span> &amp; x);
<a name="l00079"></a>00079
<a name="l00081"></a>00081 }<span class="comment">// namespace glm</span>
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="preprocessor">#include &quot;fast_square_root.inl&quot;</span>
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif//GLM_GTX_fast_square_root</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>fast_trigonometry.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_trigonometry.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00024_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00167.html">GLM_GTX_fast_trigonometry: Fast trigonometric functions</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-01-08 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00024_source.html">fast_trigonometry.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,142 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>fast_trigonometry.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_trigonometry.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00024.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_fast_trigonometry</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_fast_trigonometry GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_fast_trigonometry extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00057"></a>00057 T fastSin(<span class="keyword">const</span> T&amp; angle);
<a name="l00058"></a>00058
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00063"></a>00063 T fastCos(<span class="keyword">const</span> T&amp; angle);
<a name="l00064"></a>00064
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00069"></a>00069 T fastTan(<span class="keyword">const</span> T&amp; angle);
<a name="l00070"></a>00070
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00075"></a>00075 T fastAsin(<span class="keyword">const</span> T&amp; angle);
<a name="l00076"></a>00076
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00081"></a>00081 T fastAcos(<span class="keyword">const</span> T&amp; angle);
<a name="l00082"></a>00082
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00087"></a>00087 T fastAtan(<span class="keyword">const</span> T&amp; y, <span class="keyword">const</span> T&amp; x);
<a name="l00088"></a>00088
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00093"></a>00093 T fastAtan(<span class="keyword">const</span> T&amp; angle);
<a name="l00094"></a>00094
<a name="l00096"></a>00096 }<span class="comment">//namespace glm</span>
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="preprocessor">#include &quot;fast_trigonometry.inl&quot;</span>
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="preprocessor">#endif//GLM_GTX_fast_trigonometry</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,137 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_common.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_common.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00025_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaeca8e195d482248f677e3905d00f11ae">abs</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga1ce130f2934cf1d7aca83a7027422f3c">ceil</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga99b1ce602a02833646e5077345858da4">clamp</a> (genType const &amp;x, genType const &amp;minVal, genType const &amp;maxVal)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genIType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga0ac6c59156dcdc12fa8fd861925ddb4c">floatBitsToInt</a> (genType const &amp;value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaccd4fbc2c30848eb85370e2e5b4e4eec">floatBitsToUint</a> (genType const &amp;value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gac3458e950a8a716468866f841a833c77">floor</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gae88b926eebc4d610ecdd148bf8c7bdac">fma</a> (genType const &amp;a, genType const &amp;b, genType const &amp;c)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gad5e3814491ff6baa4f0d16aebcabff9b">fract</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genIType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga459a98ee7601031e99bf0e99978ff13f">frexp</a> (genType const &amp;x, genIType &amp;exp)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genIType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga15f7f0f93ebb026338cb3d7d5876e1b7">intBitsToFloat</a> (genIType const &amp;value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga69fcbd40e0ce359f832329c0c93d5912">isinf</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga5efda4205aed487be515b5f2921303f8">isnan</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genIType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaf210cb4f21bbfde6ace0849e960a4b3a">ldexp</a> (genType const &amp;x, genIType const &amp;exp)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2">max</a> (genType const &amp;x, genType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe">min</a> (genType const &amp;x, genType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genTypeT , typename genTypeU &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genTypeT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a> (genTypeT const &amp;x, genTypeT const &amp;y, genTypeU const &amp;a)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3bdf136bc96f670965cd2f48d14356b4">mod</a> (genType const &amp;x, genType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gaafffb265a1455c56d85594032ded2dc3">mod</a> (genType const &amp;x, typename genType::value_type const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga34ff69d5efb2fafa3156ad2b87bd49ec">modf</a> (genType const &amp;x, genType &amp;i)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga32125c5451799e80b886ef665b947d0c">round</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gab46fe1ce5fdd08f904be811a53364968">roundEven</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga79f412e6d33cb4be13497056c2298d14">sign</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gabdfe71a62ef69b5ec834601e87588667">smoothstep</a> (genType const &amp;edge0, genType const &amp;edge1, genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3d3199dcbbb0ac8e0d9664d538702a40">step</a> (genType const &amp;edge, genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gae1268fe85d913d9e4054de0e046abaef">trunc</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3e4a94c90cffac713c287d1fb7b51c08">uintBitsToFloat</a> (genUType const &amp;value)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-03-08 / 2010-01-26 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00025_source.html">func_common.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,237 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_common.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_common.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00025.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef GLM_CORE_func_common</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define GLM_CORE_func_common GLM_VERSION</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &quot;<a class="code" href="a00004.html" title="OpenGL Mathematics (glm.g-truc.net)">_fixes.hpp</a>&quot;</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keyword">namespace </span>glm
<a name="l00042"></a>00042 {
<a name="l00045"></a>00045
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00053"></a>00053 genType <a class="code" href="a00125.html#gaeca8e195d482248f677e3905d00f11ae" title="Returns x if x &gt;= 0; otherwise, it returns -x.">abs</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00054"></a>00054
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00062"></a>00062 genType <a class="code" href="a00125.html#ga79f412e6d33cb4be13497056c2298d14" title="Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.">sign</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00063"></a>00063
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00071"></a>00071 genType <a class="code" href="a00125.html#gac3458e950a8a716468866f841a833c77" title="Returns a value equal to the nearest integer that is less then or equal to x.">floor</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00072"></a>00072
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00081"></a>00081 genType <a class="code" href="a00125.html#gae1268fe85d913d9e4054de0e046abaef" title="Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...">trunc</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00082"></a>00082
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00094"></a>00094 genType <a class="code" href="a00125.html#ga32125c5451799e80b886ef665b947d0c" title="Returns a value equal to the nearest integer to x.">round</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00095"></a>00095
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00106"></a>00106 genType <a class="code" href="a00125.html#gab46fe1ce5fdd08f904be811a53364968" title="Returns a value equal to the nearest integer to x.">roundEven</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00107"></a>00107
<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00116"></a>00116 genType <a class="code" href="a00125.html#ga1ce130f2934cf1d7aca83a7027422f3c" title="Returns a value equal to the nearest integer that is greater than or equal to x.">ceil</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00117"></a>00117
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00125"></a>00125 genType <a class="code" href="a00125.html#gad5e3814491ff6baa4f0d16aebcabff9b" title="Return x - floor(x).">fract</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00126"></a>00126
<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00135"></a>00135 genType <a class="code" href="a00125.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(
<a name="l00136"></a>00136 genType <span class="keyword">const</span> &amp; x,
<a name="l00137"></a>00137 genType <span class="keyword">const</span> &amp; y);
<a name="l00138"></a>00138
<a name="l00146"></a>00146 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00147"></a>00147 genType <a class="code" href="a00125.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(
<a name="l00148"></a>00148 genType <span class="keyword">const</span> &amp; x,
<a name="l00149"></a>00149 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; y);
<a name="l00150"></a>00150
<a name="l00160"></a>00160 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00161"></a>00161 genType <a class="code" href="a00125.html#ga34ff69d5efb2fafa3156ad2b87bd49ec" title="Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...">modf</a>(
<a name="l00162"></a>00162 genType <span class="keyword">const</span> &amp; x,
<a name="l00163"></a>00163 genType &amp; i);
<a name="l00164"></a>00164
<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00172"></a>00172 genType <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00173"></a>00173 genType <span class="keyword">const</span> &amp; x,
<a name="l00174"></a>00174 genType <span class="keyword">const</span> &amp; y);
<a name="l00175"></a>00175
<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00177"></a>00177 genType <a class="code" href="a00125.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00178"></a>00178 genType <span class="keyword">const</span> &amp; x,
<a name="l00179"></a>00179 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; y);
<a name="l00180"></a>00180
<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00188"></a>00188 genType <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00189"></a>00189 genType <span class="keyword">const</span> &amp; x,
<a name="l00190"></a>00190 genType <span class="keyword">const</span> &amp; y);
<a name="l00191"></a>00191
<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00193"></a>00193 genType <a class="code" href="a00125.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00194"></a>00194 genType <span class="keyword">const</span> &amp; x,
<a name="l00195"></a>00195 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; y);
<a name="l00196"></a>00196
<a name="l00204"></a>00204 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00205"></a>00205 genType <a class="code" href="a00125.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(
<a name="l00206"></a>00206 genType <span class="keyword">const</span> &amp; x,
<a name="l00207"></a>00207 genType <span class="keyword">const</span> &amp; minVal,
<a name="l00208"></a>00208 genType <span class="keyword">const</span> &amp; maxVal);
<a name="l00209"></a>00209
<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00211"></a>00211 genType <a class="code" href="a00125.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(
<a name="l00212"></a>00212 genType <span class="keyword">const</span> &amp; x,
<a name="l00213"></a>00213 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; minVal,
<a name="l00214"></a>00214 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; maxVal);
<a name="l00215"></a>00215
<a name="l00258"></a>00258 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00259"></a>00259 genTypeT <a class="code" href="a00125.html#ga3f64b3986efe205cf30300700667e761">mix</a>(genTypeT <span class="keyword">const</span> &amp; x, genTypeT <span class="keyword">const</span> &amp; y, genTypeU <span class="keyword">const</span> &amp; a);
<a name="l00260"></a>00260
<a name="l00265"></a>00265 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00266"></a>00266 genType <a class="code" href="a00125.html#ga3d3199dcbbb0ac8e0d9664d538702a40" title="Returns 0.0 if x &lt; edge, otherwise it returns 1.0.">step</a>(
<a name="l00267"></a>00267 genType <span class="keyword">const</span> &amp; edge,
<a name="l00268"></a>00268 genType <span class="keyword">const</span> &amp; x);
<a name="l00269"></a>00269
<a name="l00270"></a>00270 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00271"></a>00271 genType <a class="code" href="a00125.html#ga3d3199dcbbb0ac8e0d9664d538702a40" title="Returns 0.0 if x &lt; edge, otherwise it returns 1.0.">step</a>(
<a name="l00272"></a>00272 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; edge,
<a name="l00273"></a>00273 genType <span class="keyword">const</span> &amp; x);
<a name="l00274"></a>00274
<a name="l00289"></a>00289 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00290"></a>00290 genType <a class="code" href="a00125.html#gabdfe71a62ef69b5ec834601e87588667" title="Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(
<a name="l00291"></a>00291 genType <span class="keyword">const</span> &amp; edge0,
<a name="l00292"></a>00292 genType <span class="keyword">const</span> &amp; edge1,
<a name="l00293"></a>00293 genType <span class="keyword">const</span> &amp; x);
<a name="l00294"></a>00294
<a name="l00295"></a>00295 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00296"></a>00296 genType <a class="code" href="a00125.html#gabdfe71a62ef69b5ec834601e87588667" title="Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(
<a name="l00297"></a>00297 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; edge0,
<a name="l00298"></a>00298 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; edge1,
<a name="l00299"></a>00299 genType <span class="keyword">const</span> &amp; x);
<a name="l00300"></a>00300
<a name="l00311"></a>00311 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00312"></a>00312 <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00125.html#ga5efda4205aed487be515b5f2921303f8" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...">isnan</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00313"></a>00313
<a name="l00324"></a>00324 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00325"></a>00325 <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00125.html#ga69fcbd40e0ce359f832329c0c93d5912" title="Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...">isinf</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00326"></a>00326
<a name="l00336"></a>00336 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00337"></a>00337 genIType <a class="code" href="a00125.html#ga0ac6c59156dcdc12fa8fd861925ddb4c" title="Returns a signed integer value representing the encoding of a floating-point value.">floatBitsToInt</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00338"></a>00338
<a name="l00348"></a>00348 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genUType&gt;
<a name="l00349"></a>00349 genUType <a class="code" href="a00125.html#gaccd4fbc2c30848eb85370e2e5b4e4eec" title="Returns a unsigned integer value representing the encoding of a floating-point value.">floatBitsToUint</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00350"></a>00350
<a name="l00364"></a>00364 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00365"></a>00365 genType <a class="code" href="a00125.html#ga15f7f0f93ebb026338cb3d7d5876e1b7" title="Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...">intBitsToFloat</a>(genIType <span class="keyword">const</span> &amp; value);
<a name="l00366"></a>00366
<a name="l00380"></a>00380 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genUType&gt;
<a name="l00381"></a>00381 genType <a class="code" href="a00125.html#ga3e4a94c90cffac713c287d1fb7b51c08" title="Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...">uintBitsToFloat</a>(genUType <span class="keyword">const</span> &amp; value);
<a name="l00382"></a>00382
<a name="l00389"></a>00389 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00390"></a>00390 genType <a class="code" href="a00125.html#gae88b926eebc4d610ecdd148bf8c7bdac" title="Computes and returns a * b + c.">fma</a>(genType <span class="keyword">const</span> &amp; a, genType <span class="keyword">const</span> &amp; b, genType <span class="keyword">const</span> &amp; c);
<a name="l00391"></a>00391
<a name="l00406"></a>00406 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00407"></a>00407 genType <a class="code" href="a00125.html#ga459a98ee7601031e99bf0e99978ff13f" title="Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...">frexp</a>(genType <span class="keyword">const</span> &amp; x, genIType &amp; <a class="code" href="a00126.html#ga03903bb9395a13d554a5fbecdf67792b" title="Returns the natural exponentiation of x, i.e., e^x.">exp</a>);
<a name="l00408"></a>00408
<a name="l00420"></a>00420 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00421"></a>00421 genType <a class="code" href="a00125.html#gaf210cb4f21bbfde6ace0849e960a4b3a" title="Builds a floating-point number from x and the corresponding integral exponent of two in exp...">ldexp</a>(genType <span class="keyword">const</span> &amp; x, genIType <span class="keyword">const</span> &amp; <a class="code" href="a00126.html#ga03903bb9395a13d554a5fbecdf67792b" title="Returns the natural exponentiation of x, i.e., e^x.">exp</a>);
<a name="l00422"></a>00422
<a name="l00424"></a>00424 }<span class="comment">//namespace glm</span>
<a name="l00425"></a>00425
<a name="l00426"></a>00426 <span class="preprocessor">#include &quot;func_common.inl&quot;</span>
<a name="l00427"></a>00427
<a name="l00428"></a>00428 <span class="preprocessor">#endif//GLM_CORE_func_common</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,99 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_exponential.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_exponential.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00026_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga03903bb9395a13d554a5fbecdf67792b">exp</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga18385688b951da01cdc3a22c232e4e28">exp2</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga3fd19e045e3943b96e0cdad22fbda111">inversesqrt</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga46a307f466090551e328eec42abf61bc">log</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gae19ff18661b33a0fe1b8edee61382f40">log2</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gac93ea301c287d87a63fa14a4c44b719b">pow</a> (genType const &amp;x, genType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f">sqrt</a> (genType const &amp;x)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-08 / 2011-06-14 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00026_source.html">func_exponential.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,133 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_exponential.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_exponential.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00026.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef glm_core_func_exponential</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_exponential GLM_VERSION</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="keyword">namespace </span>glm
<a name="l00040"></a>00040 {
<a name="l00043"></a>00043
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00053"></a>00053 genType <a class="code" href="a00126.html#gac93ea301c287d87a63fa14a4c44b719b" title="Returns x raised to the y power.">pow</a>(genType <span class="keyword">const</span> &amp; x, genType <span class="keyword">const</span> &amp; y);
<a name="l00054"></a>00054
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00063"></a>00063 genType <a class="code" href="a00126.html#ga03903bb9395a13d554a5fbecdf67792b" title="Returns the natural exponentiation of x, i.e., e^x.">exp</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00064"></a>00064
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00075"></a>00075 genType <a class="code" href="a00126.html#ga46a307f466090551e328eec42abf61bc" title="Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...">log</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00076"></a>00076
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00085"></a>00085 genType <a class="code" href="a00126.html#ga18385688b951da01cdc3a22c232e4e28" title="Returns 2 raised to the x power.">exp2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00086"></a>00086
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00096"></a>00096 genType <a class="code" href="a00126.html#gae19ff18661b33a0fe1b8edee61382f40" title="Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...">log2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00097"></a>00097
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00106"></a>00106 genType <a class="code" href="a00126.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00107"></a>00107
<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00116"></a>00116 genType <a class="code" href="a00126.html#ga3fd19e045e3943b96e0cdad22fbda111" title="Returns the reciprocal of the positive square root of x.">inversesqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00117"></a>00117
<a name="l00119"></a>00119 }<span class="comment">//namespace glm</span>
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="preprocessor">#include &quot;func_exponential.inl&quot;</span>
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="preprocessor">#endif//glm_core_func_exponential</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,101 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_geometric.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_geometric.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00027_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#gaa127ddc9d38f715125f91742d399eb6f">cross</a> (detail::tvec3&lt; valType &gt; const &amp;x, detail::tvec3&lt; valType &gt; const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga3fac0e61144f60184d961dd156709dd3">distance</a> (genType const &amp;p0, genType const &amp;p1)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga7a31d2864eccfe665409e3b44f5e6e8d">dot</a> (genType const &amp;x, genType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga855fc5fd7779df1683482564956c6764">faceforward</a> (genType const &amp;N, genType const &amp;I, genType const &amp;Nref)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga282360c8bb80b80d3c7f5bc00766d873">length</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga68b931c228750eeba844c273c54ca43d">normalize</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#gabe1fa0bef5f854242eb70ce56e5a7d03">reflect</a> (genType const &amp;I, genType const &amp;N)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#gabbb4909d3e99a7a2411cc63252afbbd8">refract</a> (genType const &amp;I, genType const &amp;N, typename genType::value_type const &amp;eta)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-03 / 2011-06-14 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00027_source.html">func_geometric.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,152 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_geometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_geometric.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00027.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef glm_core_func_geometric</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_geometric GLM_VERSION</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="keyword">namespace </span>glm
<a name="l00040"></a>00040 {
<a name="l00043"></a>00043
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00051"></a>00051 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00127.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(
<a name="l00052"></a>00052 genType <span class="keyword">const</span> &amp; x);
<a name="l00053"></a>00053
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00061"></a>00061 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00127.html#ga3fac0e61144f60184d961dd156709dd3" title="Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).">distance</a>(
<a name="l00062"></a>00062 genType <span class="keyword">const</span> &amp; p0,
<a name="l00063"></a>00063 genType <span class="keyword">const</span> &amp; p1);
<a name="l00064"></a>00064
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00072"></a>00072 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00127.html#ga7a31d2864eccfe665409e3b44f5e6e8d" title="Returns the dot product of x and y, i.e., result = x * y.">dot</a>(
<a name="l00073"></a>00073 genType <span class="keyword">const</span> &amp; x,
<a name="l00074"></a>00074 genType <span class="keyword">const</span> &amp; y);
<a name="l00075"></a>00075
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00083"></a>00083 detail::tvec3&lt;valType&gt; <a class="code" href="a00127.html#gaa127ddc9d38f715125f91742d399eb6f" title="Returns the cross product of x and y.">cross</a>(
<a name="l00084"></a>00084 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; x,
<a name="l00085"></a>00085 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; y);
<a name="l00086"></a>00086
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00092"></a>00092 genType <a class="code" href="a00127.html#ga68b931c228750eeba844c273c54ca43d" title="Returns a vector in the same direction as x but with length of 1.">normalize</a>(
<a name="l00093"></a>00093 genType <span class="keyword">const</span> &amp; x);
<a name="l00094"></a>00094
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00102"></a>00102 genType <a class="code" href="a00127.html#ga855fc5fd7779df1683482564956c6764" title="If dot(Nref, I) &lt; 0.0, return N, otherwise, return -N.">faceforward</a>(
<a name="l00103"></a>00103 genType <span class="keyword">const</span> &amp; N,
<a name="l00104"></a>00104 genType <span class="keyword">const</span> &amp; I,
<a name="l00105"></a>00105 genType <span class="keyword">const</span> &amp; Nref);
<a name="l00106"></a>00106
<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00115"></a>00115 genType <a class="code" href="a00127.html#gabe1fa0bef5f854242eb70ce56e5a7d03" title="For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...">reflect</a>(
<a name="l00116"></a>00116 genType <span class="keyword">const</span> &amp; I,
<a name="l00117"></a>00117 genType <span class="keyword">const</span> &amp; N);
<a name="l00118"></a>00118
<a name="l00127"></a>00127 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00128"></a>00128 genType <a class="code" href="a00127.html#gabbb4909d3e99a7a2411cc63252afbbd8" title="For the incident vector I and surface normal N, and the ratio of indices of refraction eta...">refract</a>(
<a name="l00129"></a>00129 genType <span class="keyword">const</span> &amp; I,
<a name="l00130"></a>00130 genType <span class="keyword">const</span> &amp; N,
<a name="l00131"></a>00131 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; eta);
<a name="l00132"></a>00132
<a name="l00134"></a>00134 }<span class="comment">//namespace glm</span>
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="preprocessor">#include &quot;func_geometric.inl&quot;</span>
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="preprocessor">#endif//glm_core_func_geometric</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,105 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_integer.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_integer.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00028_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class genIUType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIUType&lt; T &gt;::signed_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#ga5c4d37c42926b09be4384a9656f73ee4">bitCount</a> (genIUType&lt; T &gt; const &amp;Value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#gaeae27fd61779ae93b8d0fa9cef142c3d">bitfieldExtract</a> (genIUType const &amp;Value, int const &amp;Offset, int const &amp;Bits)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#ga490b328e7b5d06b477ede4a59edfb798">bitfieldInsert</a> (genIUType const &amp;Base, genIUType const &amp;Insert, int const &amp;Offset, int const &amp;Bits)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#gac36ad04d509817f2f4769d45f13f43e5">bitfieldReverse</a> (genIUType const &amp;value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class genIUType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIUType&lt; T &gt;::signed_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#gaf921488d20990ec15f3fde3d1db919f0">findLSB</a> (genIUType&lt; T &gt; const &amp;Value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class genIUType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genIUType&lt; T &gt;::signed_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#gaa17f942299cb7a51c60155f9e78228f3">findMSB</a> (genIUType&lt; T &gt; const &amp;Value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genIType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#gab0eaec4d0964925429322eebf8dca6d0">imulExtended</a> (genIType const &amp;x, genIType const &amp;y, genIType &amp;msb, genIType &amp;lsb)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#ga7d96efb73301e722a527b912f05f6ac0">uaddCarry</a> (genUType const &amp;x, genUType const &amp;y, genUType &amp;carry)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#ga8e89fcd6b0e2cd96cd2e1b69fdb7afd9">umulExtended</a> (genUType const &amp;x, genUType const &amp;y, genUType &amp;msb, genUType &amp;lsb)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genUType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00128.html#gacd727c8bb8bda7a509773f9f204ab5a1">usubBorrow</a> (genUType const &amp;x, genUType const &amp;y, genUType &amp;borrow)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2010-03-17 / 2011-06-18 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00028_source.html">func_integer.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,166 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_integer.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_integer.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00028.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef glm_core_func_integer</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_integer GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="keyword">namespace </span>glm
<a name="l00042"></a>00042 {
<a name="l00045"></a>00045
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUType&gt;
<a name="l00055"></a>00055 genUType <a class="code" href="a00128.html#ga7d96efb73301e722a527b912f05f6ac0" title="Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).">uaddCarry</a>(
<a name="l00056"></a>00056 genUType <span class="keyword">const</span> &amp; x,
<a name="l00057"></a>00057 genUType <span class="keyword">const</span> &amp; y,
<a name="l00058"></a>00058 genUType &amp; carry);
<a name="l00059"></a>00059
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUType&gt;
<a name="l00069"></a>00069 genUType <a class="code" href="a00128.html#gacd727c8bb8bda7a509773f9f204ab5a1" title="Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.">usubBorrow</a>(
<a name="l00070"></a>00070 genUType <span class="keyword">const</span> &amp; x,
<a name="l00071"></a>00071 genUType <span class="keyword">const</span> &amp; y,
<a name="l00072"></a>00072 genUType &amp; borrow);
<a name="l00073"></a>00073
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUType&gt;
<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="a00128.html#ga8e89fcd6b0e2cd96cd2e1b69fdb7afd9" title="Multiplies 32-bit integers x and y, producing a 64-bit result.">umulExtended</a>(
<a name="l00084"></a>00084 genUType <span class="keyword">const</span> &amp; x,
<a name="l00085"></a>00085 genUType <span class="keyword">const</span> &amp; y,
<a name="l00086"></a>00086 genUType &amp; msb,
<a name="l00087"></a>00087 genUType &amp; lsb);
<a name="l00088"></a>00088
<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIType&gt;
<a name="l00098"></a>00098 <span class="keywordtype">void</span> <a class="code" href="a00128.html#gab0eaec4d0964925429322eebf8dca6d0" title="Multiplies 32-bit integers x and y, producing a 64-bit result.">imulExtended</a>(
<a name="l00099"></a>00099 genIType <span class="keyword">const</span> &amp; x,
<a name="l00100"></a>00100 genIType <span class="keyword">const</span> &amp; y,
<a name="l00101"></a>00101 genIType &amp; msb,
<a name="l00102"></a>00102 genIType &amp; lsb);
<a name="l00103"></a>00103
<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00120"></a>00120 genIUType <a class="code" href="a00128.html#gaeae27fd61779ae93b8d0fa9cef142c3d" title="Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...">bitfieldExtract</a>(
<a name="l00121"></a>00121 genIUType <span class="keyword">const</span> &amp; Value,
<a name="l00122"></a>00122 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Offset,
<a name="l00123"></a>00123 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Bits);
<a name="l00124"></a>00124
<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00140"></a>00140 genIUType <a class="code" href="a00128.html#ga490b328e7b5d06b477ede4a59edfb798" title="Returns the insertion the bits least-significant bits of insert into base.">bitfieldInsert</a>(
<a name="l00141"></a>00141 genIUType <span class="keyword">const</span> &amp; Base,
<a name="l00142"></a>00142 genIUType <span class="keyword">const</span> &amp; Insert,
<a name="l00143"></a>00143 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Offset,
<a name="l00144"></a>00144 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Bits);
<a name="l00145"></a>00145
<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00155"></a>00155 genIUType <a class="code" href="a00128.html#gac36ad04d509817f2f4769d45f13f43e5" title="Returns the reversal of the bits of value.">bitfieldReverse</a>(genIUType <span class="keyword">const</span> &amp; value);
<a name="l00156"></a>00156
<a name="l00165"></a>00165 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>genIUType&gt;
<a name="l00166"></a>00166 <span class="keyword">typename</span> genIUType&lt;T&gt;::signed_type <a class="code" href="a00128.html#ga5c4d37c42926b09be4384a9656f73ee4" title="Returns the number of bits set to 1 in the binary representation of value.">bitCount</a>(genIUType&lt;T&gt; <span class="keyword">const</span> &amp; Value);
<a name="l00167"></a>00167
<a name="l00178"></a>00178 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>genIUType&gt;
<a name="l00179"></a>00179 <span class="keyword">typename</span> genIUType&lt;T&gt;::signed_type <a class="code" href="a00128.html#gaf921488d20990ec15f3fde3d1db919f0" title="Returns the bit number of the least significant bit set to 1 in the binary representation of value...">findLSB</a>(genIUType&lt;T&gt; <span class="keyword">const</span> &amp; Value);
<a name="l00180"></a>00180
<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>genIUType&gt;
<a name="l00193"></a>00193 <span class="keyword">typename</span> genIUType&lt;T&gt;::signed_type <a class="code" href="a00128.html#gaa17f942299cb7a51c60155f9e78228f3" title="Returns the bit number of the most significant bit in the binary representation of value...">findMSB</a>(genIUType&lt;T&gt; <span class="keyword">const</span> &amp; Value);
<a name="l00194"></a>00194
<a name="l00196"></a>00196 }<span class="comment">//namespace glm</span>
<a name="l00197"></a>00197
<a name="l00198"></a>00198 <span class="preprocessor">#include &quot;func_integer.inl&quot;</span>
<a name="l00199"></a>00199
<a name="l00200"></a>00200 <span class="preprocessor">#endif//glm_core_func_integer</span>
<a name="l00201"></a>00201 <span class="preprocessor"></span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,106 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_matrix.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_matrix.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00029_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat2x2&lt; valType &gt;<br class="typebreak"/>
::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#gad3bfb2098e1572d2131a261c1fb76dd4">determinant</a> (detail::tmat2x2&lt; valType &gt; const &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3&lt; valType &gt;<br class="typebreak"/>
::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#ga2f26bb474e077cf03b9db23f813e8450">determinant</a> (detail::tmat3x3&lt; valType &gt; const &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;<br class="typebreak"/>
::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#ga1daa306eecf6e8b379626d761b8c222f">determinant</a> (detail::tmat4x4&lt; valType &gt; const &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat2x2&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#gada3384a86cf38a1fd96275194b8ba8c0">inverse</a> (detail::tmat2x2&lt; valType &gt; const &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#ga1a455651f7ba323ade0cd9191542b179">inverse</a> (detail::tmat3x3&lt; valType &gt; const &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#gabc94b29dea14e111e48bc963c47559b2">inverse</a> (detail::tmat4x4&lt; valType &gt; const &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename matType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">matType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#ga0e48491a51b3f366d671c01894705605">matrixCompMult</a> (matType const &amp;x, matType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType , typename matType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">matType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#ga5d896e8651512fc098a677dbe403eeac">outerProduct</a> (vecType const &amp;c, vecType const &amp;r)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename matType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">matType::transpose_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00129.html#gac58a4106a57fb7da41b3aeae3832998b">transpose</a> (matType const &amp;x)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-03 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00029_source.html">func_matrix.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,154 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_matrix.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_matrix.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00029.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#ifndef GLM_CORE_func_matrix</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define GLM_CORE_func_matrix GLM_VERSION</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="keyword">namespace </span>glm
<a name="l00044"></a>00044 {
<a name="l00047"></a>00047
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> matType&gt;
<a name="l00056"></a>00056 matType <a class="code" href="a00129.html#ga0e48491a51b3f366d671c01894705605" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...">matrixCompMult</a>(
<a name="l00057"></a>00057 matType <span class="keyword">const</span> &amp; x,
<a name="l00058"></a>00058 matType <span class="keyword">const</span> &amp; y);
<a name="l00059"></a>00059
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType, <span class="keyword">typename</span> matType&gt;
<a name="l00071"></a>00071 matType <a class="code" href="a00129.html#ga5d896e8651512fc098a677dbe403eeac" title="Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...">outerProduct</a>(
<a name="l00072"></a>00072 vecType <span class="keyword">const</span> &amp; c,
<a name="l00073"></a>00073 vecType <span class="keyword">const</span> &amp; r);
<a name="l00074"></a>00074
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> matType&gt;
<a name="l00082"></a>00082 <span class="keyword">typename</span> matType::transpose_type <a class="code" href="a00129.html#gac58a4106a57fb7da41b3aeae3832998b" title="Returns the transposed matrix of x.">transpose</a>(
<a name="l00083"></a>00083 matType <span class="keyword">const</span> &amp; x);
<a name="l00084"></a>00084
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00092"></a>00092 <span class="keyword">typename</span> detail::tmat2x2&lt;valType&gt;::value_type <a class="code" href="a00129.html#gad3bfb2098e1572d2131a261c1fb76dd4" title="Return the determinant of a mat2 matrix.">determinant</a>(
<a name="l00093"></a>00093 detail::tmat2x2&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00094"></a>00094
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00102"></a>00102 <span class="keyword">typename</span> detail::tmat3x3&lt;valType&gt;::value_type <a class="code" href="a00129.html#gad3bfb2098e1572d2131a261c1fb76dd4" title="Return the determinant of a mat2 matrix.">determinant</a>(
<a name="l00103"></a>00103 detail::tmat3x3&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00104"></a>00104
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00112"></a>00112 <span class="keyword">typename</span> detail::tmat4x4&lt;valType&gt;::value_type <a class="code" href="a00129.html#gad3bfb2098e1572d2131a261c1fb76dd4" title="Return the determinant of a mat2 matrix.">determinant</a>(
<a name="l00113"></a>00113 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00114"></a>00114
<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00122"></a>00122 detail::tmat2x2&lt;valType&gt; <a class="code" href="a00129.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(
<a name="l00123"></a>00123 detail::tmat2x2&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00124"></a>00124
<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00132"></a>00132 detail::tmat3x3&lt;valType&gt; <a class="code" href="a00129.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(
<a name="l00133"></a>00133 detail::tmat3x3&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00134"></a>00134
<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00142"></a>00142 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00129.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(
<a name="l00143"></a>00143 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00144"></a>00144
<a name="l00146"></a>00146 }<span class="comment">//namespace glm</span>
<a name="l00147"></a>00147
<a name="l00148"></a>00148 <span class="preprocessor">#include &quot;func_matrix.inl&quot;</span>
<a name="l00149"></a>00149
<a name="l00150"></a>00150 <span class="preprocessor">#endif//GLM_CORE_func_matrix</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,96 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_noise.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_noise.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00030_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00130.html#ga687ac48ae4591c0da916052e469aad74">noise1</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec2&lt; typename <br class="typebreak"/>
genType::value_type &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00130.html#ga528fc75920119a7ab65ef6dccef28752">noise2</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3&lt; typename <br class="typebreak"/>
genType::value_type &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00130.html#gaf1589bc1859b8dc53d737ece36b59b85">noise3</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec4&lt; typename <br class="typebreak"/>
genType::value_type &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00130.html#ga7b3cd0ab6f03142dd9ff3054e7fe5299">noise4</a> (genType const &amp;x)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-01 / 2011-06-18 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00030_source.html">func_noise.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,126 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_noise.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_noise.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00030.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef glm_core_func_noise</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_noise GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="keyword">namespace </span>glm
<a name="l00042"></a>00042 {
<a name="l00045"></a>00045
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00053"></a>00053 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00130.html#ga687ac48ae4591c0da916052e469aad74" title="Returns a 1D noise value based on the input value x.">noise1</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00054"></a>00054
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00062"></a>00062 detail::tvec2&lt;typename genType::value_type&gt; <a class="code" href="a00130.html#ga528fc75920119a7ab65ef6dccef28752" title="Returns a 2D noise value based on the input value x.">noise2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00063"></a>00063
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00071"></a>00071 detail::tvec3&lt;typename genType::value_type&gt; <a class="code" href="a00130.html#gaf1589bc1859b8dc53d737ece36b59b85" title="Returns a 3D noise value based on the input value x.">noise3</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00072"></a>00072
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00080"></a>00080 detail::tvec4&lt;typename genType::value_type&gt; <a class="code" href="a00130.html#ga7b3cd0ab6f03142dd9ff3054e7fe5299" title="Returns a 4D noise value based on the input value x.">noise4</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00081"></a>00081
<a name="l00083"></a>00083 }<span class="comment">//namespace glm</span>
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#include &quot;func_noise.inl&quot;</span>
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="preprocessor">#endif//glm_core_func_noise</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,97 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_packing.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_packing.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00031_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gab7776e189f8fb8210dbaf4685f9d400a">packDouble2x32</a> (detail::tvec2&lt; detail::uint32 &gt; const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#ga5f63a9353416d3d240962520d5e77dbc">packHalf2x16</a> (vec2 const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#ga85552b13309c20c90a43fcf4906e6314">packSnorm2x16</a> (detail::tvec2&lt; detail::float32 &gt; const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gaa9d1bf79e69382e55eb3adf51f978afd">packSnorm4x8</a> (detail::tvec4&lt; detail::float32 &gt; const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gae4cbe68e49e238fce5bf83c2ab03746c">packUnorm2x16</a> (detail::tvec2&lt; detail::float32 &gt; const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#ga58d4ebc6f2824dcbcef73e3764339ea4">packUnorm4x8</a> (detail::tvec4&lt; detail::float32 &gt; const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::tvec2&lt; detail::uint32 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gadfbce841431cb5fb8531469a6c1e01d9">unpackDouble2x32</a> (double const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#ga74e86400717e9a83f30ef8610a122daf">unpackHalf2x16</a> (uint const &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::tvec2&lt; detail::float32 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gaaf9e09346412610f361fa17a1e502090">unpackSnorm2x16</a> (detail::uint32 const &amp;p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::tvec4&lt; detail::float32 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#ga014513c3f058e755660f702b65559215">unpackSnorm4x8</a> (detail::uint32 const &amp;p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::tvec2&lt; detail::float32 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gad146587dbc78ae05c48b8b0e7af7e640">unpackUnorm2x16</a> (detail::uint32 const &amp;p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::tvec4&lt; detail::float32 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00131.html#gaeccbff725476f317b1464a0a0fae3be7">unpackUnorm4x8</a> (detail::uint32 const &amp;p)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2010-03-17 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00031_source.html">func_packing.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,138 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_packing.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_packing.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00031.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef GLM_CORE_func_packing</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define GLM_CORE_func_packing GLM_VERSION</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="keyword">namespace </span>glm
<a name="l00040"></a>00040 {
<a name="l00043"></a>00043
<a name="l00055"></a>00055 detail::uint32 <a class="code" href="a00131.html#gae4cbe68e49e238fce5bf83c2ab03746c" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packUnorm2x16</a>(detail::tvec2&lt;detail::float32&gt; <span class="keyword">const</span> &amp; v);
<a name="l00056"></a>00056
<a name="l00068"></a>00068 detail::uint32 <a class="code" href="a00131.html#ga85552b13309c20c90a43fcf4906e6314" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packSnorm2x16</a>(detail::tvec2&lt;detail::float32&gt; <span class="keyword">const</span> &amp; v);
<a name="l00069"></a>00069
<a name="l00081"></a>00081 detail::uint32 <a class="code" href="a00131.html#ga58d4ebc6f2824dcbcef73e3764339ea4" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packUnorm4x8</a>(detail::tvec4&lt;detail::float32&gt; <span class="keyword">const</span> &amp; v);
<a name="l00082"></a>00082
<a name="l00094"></a>00094 detail::uint32 <a class="code" href="a00131.html#gaa9d1bf79e69382e55eb3adf51f978afd" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packSnorm4x8</a>(detail::tvec4&lt;detail::float32&gt; <span class="keyword">const</span> &amp; v);
<a name="l00095"></a>00095
<a name="l00107"></a>00107 detail::tvec2&lt;detail::float32&gt; <a class="code" href="a00131.html#gad146587dbc78ae05c48b8b0e7af7e640" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackUnorm2x16</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00108"></a>00108
<a name="l00120"></a>00120 detail::tvec2&lt;detail::float32&gt; <a class="code" href="a00131.html#gaaf9e09346412610f361fa17a1e502090" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackSnorm2x16</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00121"></a>00121
<a name="l00133"></a>00133 detail::tvec4&lt;detail::float32&gt; <a class="code" href="a00131.html#gaeccbff725476f317b1464a0a0fae3be7" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackUnorm4x8</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00134"></a>00134
<a name="l00146"></a>00146 detail::tvec4&lt;detail::float32&gt; <a class="code" href="a00131.html#ga014513c3f058e755660f702b65559215" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackSnorm4x8</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00147"></a>00147
<a name="l00156"></a>00156 <span class="keywordtype">double</span> <a class="code" href="a00131.html#gab7776e189f8fb8210dbaf4685f9d400a" title="Returns a double-precision value obtained by packing the components of v into a 64-bit value...">packDouble2x32</a>(detail::tvec2&lt;detail::uint32&gt; <span class="keyword">const</span> &amp; v);
<a name="l00157"></a>00157
<a name="l00165"></a>00165 detail::tvec2&lt;detail::uint32&gt; <a class="code" href="a00131.html#gadfbce841431cb5fb8531469a6c1e01d9" title="Returns a two-component unsigned integer vector representation of v.">unpackDouble2x32</a>(<span class="keywordtype">double</span> <span class="keyword">const</span> &amp; v);
<a name="l00166"></a>00166
<a name="l00167"></a>00167
<a name="l00176"></a>00176 <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00131.html#ga5f63a9353416d3d240962520d5e77dbc" title="Returns an unsigned integer obtained by converting the components of a two-component floating-point v...">packHalf2x16</a>(<a class="code" href="a00138.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> &amp; v);
<a name="l00177"></a>00177
<a name="l00186"></a>00186 <a class="code" href="a00138.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <a class="code" href="a00131.html#ga74e86400717e9a83f30ef8610a122daf" title="Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...">unpackHalf2x16</a>(<a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <span class="keyword">const</span> &amp; v);
<a name="l00187"></a>00187
<a name="l00189"></a>00189 }<span class="comment">//namespace glm</span>
<a name="l00190"></a>00190
<a name="l00191"></a>00191 <span class="preprocessor">#include &quot;func_packing.inl&quot;</span>
<a name="l00192"></a>00192
<a name="l00193"></a>00193 <span class="preprocessor">#endif//GLM_CORE_func_packing</span>
<a name="l00194"></a>00194 <span class="preprocessor"></span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,115 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_trigonometric.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_trigonometric.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00032_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#gafef7954b5fa3228f4aaabde8dfa862a1">acos</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga0f37ff6b6878a0169cd41249e5377e09">acosh</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga76b6422e62c99fa0849abdf21fcef5cf">asin</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga615d386dcfb41cdbbca2609c53113aac">asinh</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga2394d11075a74869cd88473c76722bc8">atan</a> (genType const &amp;y, genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga5db83034488156692939acb4f4e46fa6">atan</a> (genType const &amp;y_over_x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#gadeda850d5dff43d4d069854b1b6a623c">atanh</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#gace62d5d164def52455aeff19e1bccd88">cos</a> (genType const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#gaf1b20113fe439fa48524e8c35ea2c1d0">cosh</a> (genType const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga034bdb53d458242c506e4d830c7df3aa">degrees</a> (genType const &amp;radians)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga4fb76e28851c9ff6653532566084e091">radians</a> (genType const &amp;degrees)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga4fcd05daafb008f20e121e727c0196c7">sin</a> (genType const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga6f38bb1a343b5d73ac71ddd53baa3375">sinh</a> (genType const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga43860bed05c85587e2d931b26d765640">tan</a> (genType const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00132.html#ga5315f571fd52f30d368abc056c4aea13">tanh</a> (genType const &amp;angle)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-01 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00032_source.html">func_trigonometric.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,163 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_trigonometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_trigonometric.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00032.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#ifndef GLM_CORE_func_trigonometric</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define GLM_CORE_func_trigonometric GLM_VERSION</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="keyword">namespace </span>glm
<a name="l00044"></a>00044 {
<a name="l00047"></a>00047
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00055"></a>00055 genType <a class="code" href="a00132.html#ga4fb76e28851c9ff6653532566084e091" title="Converts degrees to radians and returns the result.">radians</a>(genType <span class="keyword">const</span> &amp; <a class="code" href="a00132.html#ga034bdb53d458242c506e4d830c7df3aa" title="Converts radians to degrees and returns the result.">degrees</a>);
<a name="l00056"></a>00056
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00064"></a>00064 genType <a class="code" href="a00132.html#ga034bdb53d458242c506e4d830c7df3aa" title="Converts radians to degrees and returns the result.">degrees</a>(genType <span class="keyword">const</span> &amp; <a class="code" href="a00132.html#ga4fb76e28851c9ff6653532566084e091" title="Converts degrees to radians and returns the result.">radians</a>);
<a name="l00065"></a>00065
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00074"></a>00074 genType <a class="code" href="a00132.html#ga4fcd05daafb008f20e121e727c0196c7" title="The standard trigonometric sine function.">sin</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00075"></a>00075
<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00084"></a>00084 genType <a class="code" href="a00132.html#gace62d5d164def52455aeff19e1bccd88" title="The standard trigonometric cosine function.">cos</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00085"></a>00085
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00093"></a>00093 genType <a class="code" href="a00132.html#ga43860bed05c85587e2d931b26d765640" title="The standard trigonometric tangent function.">tan</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00094"></a>00094
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00104"></a>00104 genType <a class="code" href="a00132.html#ga76b6422e62c99fa0849abdf21fcef5cf" title="Arc sine.">asin</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00105"></a>00105
<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00115"></a>00115 genType <a class="code" href="a00132.html#gafef7954b5fa3228f4aaabde8dfa862a1" title="Arc cosine.">acos</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00116"></a>00116
<a name="l00127"></a>00127 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00128"></a>00128 genType <a class="code" href="a00132.html#ga2394d11075a74869cd88473c76722bc8" title="Arc tangent.">atan</a>(genType <span class="keyword">const</span> &amp; y, genType <span class="keyword">const</span> &amp; x);
<a name="l00129"></a>00129
<a name="l00137"></a>00137 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00138"></a>00138 genType <a class="code" href="a00132.html#ga2394d11075a74869cd88473c76722bc8" title="Arc tangent.">atan</a>(genType <span class="keyword">const</span> &amp; y_over_x);
<a name="l00139"></a>00139
<a name="l00146"></a>00146 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00147"></a>00147 genType <a class="code" href="a00132.html#ga6f38bb1a343b5d73ac71ddd53baa3375" title="Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.">sinh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00148"></a>00148
<a name="l00155"></a>00155 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00156"></a>00156 genType <a class="code" href="a00132.html#gaf1b20113fe439fa48524e8c35ea2c1d0" title="Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.">cosh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00157"></a>00157
<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00165"></a>00165 genType <a class="code" href="a00132.html#ga5315f571fd52f30d368abc056c4aea13" title="Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)">tanh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00166"></a>00166
<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00174"></a>00174 genType <a class="code" href="a00132.html#ga615d386dcfb41cdbbca2609c53113aac" title="Arc hyperbolic sine; returns the inverse of sinh.">asinh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00175"></a>00175
<a name="l00183"></a>00183 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00184"></a>00184 genType <a class="code" href="a00132.html#ga0f37ff6b6878a0169cd41249e5377e09" title="Arc hyperbolic cosine; returns the non-negative inverse of cosh.">acosh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00185"></a>00185
<a name="l00193"></a>00193 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00194"></a>00194 genType <a class="code" href="a00132.html#gadeda850d5dff43d4d069854b1b6a623c" title="Arc hyperbolic tangent; returns the inverse of tanh.">atanh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00195"></a>00195
<a name="l00197"></a>00197 }<span class="comment">//namespace glm</span>
<a name="l00198"></a>00198
<a name="l00199"></a>00199 <span class="preprocessor">#include &quot;func_trigonometric.inl&quot;</span>
<a name="l00200"></a>00200
<a name="l00201"></a>00201 <span class="preprocessor">#endif//GLM_CORE_func_trigonometric</span>
<a name="l00202"></a>00202 <span class="preprocessor"></span>
<a name="l00203"></a>00203
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,103 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_vector_relational.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">func_vector_relational.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00033_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;template&lt; typename &gt; class vecType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#ga349edc1a383fff08c6d577428416a73b">all</a> (vecType&lt; bool &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;template&lt; typename &gt; class vecType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#ga7141e1fafe91560d8c8789901d1c1271">any</a> (vecType&lt; bool &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#gaeded4966b21a46182176fc6e24e05fdd">equal</a> (vecType const &amp;x, vecType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#gabd72ae0dc35908eaa143568fb42c3830">greaterThan</a> (vecType const &amp;x, vecType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#gac9b3c898e70adc1e573300b1a8e66e9f">greaterThanEqual</a> (vecType const &amp;x, vecType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#ga1227d6a9d2c15a57d8189c5d9f4d9c53">lessThan</a> (vecType const &amp;x, vecType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#ga6199b9a55616b7b872b0bf0658b239ce">lessThanEqual</a> (vecType const &amp;x, vecType const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;template&lt; typename &gt; class vecType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType&lt; bool &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#gac44e885cf2f0b0896124d7ce5df6ed4f">not_</a> (vecType&lt; bool &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename vecType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00133.html#ga20caef2fbce3eacb97e895f2ed315271">notEqual</a> (vecType const &amp;x, vecType const &amp;y)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-03 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a> </dd></dl>
<p>Definition in file <a class="el" href="a00033_source.html">func_vector_relational.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,146 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>func_vector_relational.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_vector_relational.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00033.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#ifndef GLM_CORE_func_vector_relational</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define GLM_CORE_func_vector_relational GLM_VERSION</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;<a class="code" href="a00003.html" title="OpenGL Mathematics (glm.g-truc.net)">_detail.hpp</a>&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">namespace </span>glm
<a name="l00047"></a>00047 {
<a name="l00050"></a>00050
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00058"></a>00058 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#ga1227d6a9d2c15a57d8189c5d9f4d9c53" title="Returns the component-wise comparison result of x &lt; y.">lessThan</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00059"></a>00059
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00067"></a>00067 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#ga6199b9a55616b7b872b0bf0658b239ce" title="Returns the component-wise comparison of result x &lt;= y.">lessThanEqual</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00068"></a>00068
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00076"></a>00076 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#gabd72ae0dc35908eaa143568fb42c3830" title="Returns the component-wise comparison of result x &gt; y.">greaterThan</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00077"></a>00077
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00085"></a>00085 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#gac9b3c898e70adc1e573300b1a8e66e9f" title="Returns the component-wise comparison of result x &gt;= y.">greaterThanEqual</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00086"></a>00086
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00094"></a>00094 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#gaeded4966b21a46182176fc6e24e05fdd" title="Returns the component-wise comparison of result x == y.">equal</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00095"></a>00095
<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00103"></a>00103 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#ga20caef2fbce3eacb97e895f2ed315271" title="Returns the component-wise comparison of result x != y.">notEqual</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00104"></a>00104
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00112"></a>00112 <span class="keywordtype">bool</span> <a class="code" href="a00133.html#ga7141e1fafe91560d8c8789901d1c1271" title="Returns true if any component of x is true.">any</a>(vecType&lt;bool&gt; <span class="keyword">const</span> &amp; v);
<a name="l00113"></a>00113
<a name="l00120"></a>00120 <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00121"></a>00121 <span class="keywordtype">bool</span> <a class="code" href="a00133.html#ga349edc1a383fff08c6d577428416a73b" title="Returns true if all components of x are true.">all</a>(vecType&lt;bool&gt; <span class="keyword">const</span> &amp; v);
<a name="l00122"></a>00122
<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00131"></a>00131 vecType&lt;bool&gt; <a class="code" href="a00133.html#gac44e885cf2f0b0896124d7ce5df6ed4f" title="Returns the component-wise logical complement of x.">not_</a>(vecType&lt;bool&gt; <span class="keyword">const</span> &amp; v);
<a name="l00132"></a>00132
<a name="l00134"></a>00134 }<span class="comment">//namespace glm</span>
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="preprocessor">#include &quot;func_vector_relational.inl&quot;</span>
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="preprocessor">#endif//GLM_CORE_func_vector_relational</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,84 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>glm.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">glm.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00034_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-05-01 / 2011-05-16 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<p><a class="el" href="a00137.html">GLM Core</a> (Dependence)</p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-01-14 / 2011-10-24 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00034_source.html">glm.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,193 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>glm.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">glm.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00034.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00040"></a>00040
<a name="l00041"></a>00041
<a name="l00042"></a>00042
<a name="l00043"></a>00043
<a name="l00044"></a>00044
<a name="l00045"></a>00045
<a name="l00046"></a>00046
<a name="l00047"></a>00047
<a name="l00048"></a>00048
<a name="l00049"></a>00049
<a name="l00050"></a>00050
<a name="l00051"></a>00051
<a name="l00052"></a>00052
<a name="l00053"></a>00053
<a name="l00054"></a>00054
<a name="l00055"></a>00055
<a name="l00056"></a>00056
<a name="l00057"></a>00057
<a name="l00058"></a>00058
<a name="l00059"></a>00059
<a name="l00060"></a>00060
<a name="l00061"></a>00061
<a name="l00062"></a>00062
<a name="l00063"></a>00063
<a name="l00064"></a>00064
<a name="l00065"></a>00065
<a name="l00066"></a>00066
<a name="l00067"></a>00067
<a name="l00068"></a>00068
<a name="l00069"></a>00069
<a name="l00070"></a>00070
<a name="l00071"></a>00071
<a name="l00072"></a>00072
<a name="l00073"></a>00073
<a name="l00074"></a>00074
<a name="l00075"></a>00075
<a name="l00076"></a>00076
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#include &quot;<a class="code" href="a00004.html" title="OpenGL Mathematics (glm.g-truc.net)">core/_fixes.hpp</a>&quot;</span>
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="preprocessor">#ifndef glm_glm</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define glm_glm</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span>
<a name="l00083"></a>00083 <span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00084"></a>00084 <span class="preprocessor">#include &lt;climits&gt;</span>
<a name="l00085"></a>00085 <span class="preprocessor">#include &lt;cfloat&gt;</span>
<a name="l00086"></a>00086 <span class="preprocessor">#include &lt;limits&gt;</span>
<a name="l00087"></a>00087 <span class="preprocessor">#include &lt;cstdio&gt;</span>
<a name="l00088"></a>00088 <span class="comment">//#include &lt;type_traits&gt;</span>
<a name="l00089"></a>00089 <span class="preprocessor">#include &quot;<a class="code" href="a00082.html" title="OpenGL Mathematics (glm.g-truc.net)">core/setup.hpp</a>&quot;</span>
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Core library included&quot;)</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span>
<a name="l00096"></a>00096 <span class="preprocessor">#include &quot;<a class="code" href="a00003.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/_detail.hpp</a>&quot;</span>
<a name="l00097"></a>00097 <span class="preprocessor">#include &quot;<a class="code" href="a00091.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/type.hpp</a>&quot;</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="preprocessor">#include &quot;<a class="code" href="a00032.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_trigonometric.hpp</a>&quot;</span>
<a name="l00100"></a>00100 <span class="preprocessor">#include &quot;<a class="code" href="a00026.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_exponential.hpp</a>&quot;</span>
<a name="l00101"></a>00101 <span class="preprocessor">#include &quot;<a class="code" href="a00025.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_common.hpp</a>&quot;</span>
<a name="l00102"></a>00102 <span class="preprocessor">#include &quot;<a class="code" href="a00031.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_packing.hpp</a>&quot;</span>
<a name="l00103"></a>00103 <span class="preprocessor">#include &quot;<a class="code" href="a00027.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_geometric.hpp</a>&quot;</span>
<a name="l00104"></a>00104 <span class="preprocessor">#include &quot;<a class="code" href="a00029.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_matrix.hpp</a>&quot;</span>
<a name="l00105"></a>00105 <span class="preprocessor">#include &quot;<a class="code" href="a00033.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_vector_relational.hpp</a>&quot;</span>
<a name="l00106"></a>00106 <span class="preprocessor">#include &quot;<a class="code" href="a00028.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_integer.hpp</a>&quot;</span>
<a name="l00107"></a>00107 <span class="preprocessor">#include &quot;<a class="code" href="a00030.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/func_noise.hpp</a>&quot;</span>
<a name="l00108"></a>00108 <span class="preprocessor">#include &quot;<a class="code" href="a00005.html" title="OpenGL Mathematics (glm.g-truc.net)">./core/_swizzle.hpp</a>&quot;</span>
<a name="l00109"></a>00109
<a name="l00111"></a>00111 <span class="comment">// check type sizes</span>
<a name="l00112"></a>00112 <span class="preprocessor">#ifndef GLM_STATIC_ASSERT_NULL</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span> GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int8) == 1, <span class="stringliteral">&quot;int8 size isn&#39;t 1 byte on this platform&quot;</span>);
<a name="l00114"></a>00114 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int16) == 2, <span class="stringliteral">&quot;int16 size isn&#39;t 2 bytes on this platform&quot;</span>);
<a name="l00115"></a>00115 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int32) == 4, <span class="stringliteral">&quot;int32 size isn&#39;t 4 bytes on this platform&quot;</span>);
<a name="l00116"></a>00116 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int64) == 8, <span class="stringliteral">&quot;int64 size isn&#39;t 8 bytes on this platform&quot;</span>);
<a name="l00117"></a>00117
<a name="l00118"></a>00118 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint8) == 1, <span class="stringliteral">&quot;uint8 size isn&#39;t 1 byte on this platform&quot;</span>);
<a name="l00119"></a>00119 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint16) == 2, <span class="stringliteral">&quot;uint16 size isn&#39;t 2 bytes on this platform&quot;</span>);
<a name="l00120"></a>00120 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint32) == 4, <span class="stringliteral">&quot;uint32 size isn&#39;t 4 bytes on this platform&quot;</span>);
<a name="l00121"></a>00121 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint64) == 8, <span class="stringliteral">&quot;uint64 size isn&#39;t 8 bytes on this platform&quot;</span>);
<a name="l00122"></a>00122
<a name="l00123"></a>00123 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(<a class="code" href="a00002.html" title="16-bit floating point type.">glm::detail::float16</a>) == 2, <span class="stringliteral">&quot;float16 size isn&#39;t 2 bytes on this platform&quot;</span>);
<a name="l00124"></a>00124 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float32) == 4, <span class="stringliteral">&quot;float32 size isn&#39;t 4 bytes on this platform&quot;</span>);
<a name="l00125"></a>00125 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float64) == 8, <span class="stringliteral">&quot;float64 size isn&#39;t 8 bytes on this platform&quot;</span>);
<a name="l00126"></a>00126 <span class="preprocessor">#endif//GLM_STATIC_ASSERT_NULL</span>
<a name="l00127"></a>00127 <span class="preprocessor"></span>
<a name="l00128"></a>00128 <span class="preprocessor">#endif//glm_glm</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>gradient_paint.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gradient_paint.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00035_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00168.html">GLM_GTX_gradient_paint: Procedural gradient color</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-03-06 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00188.html" title="Integer exponentiation of power functions.">GLM_GTX_optimum_pow: Optimum pow</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00035_source.html">gradient_paint.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,135 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>gradient_paint.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gradient_paint.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00035.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_gradient_paint</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_gradient_paint GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../gtx/optimum_pow.hpp&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_gradient_paint extension included&quot;)</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>
<a name="l00049"></a>00049 <span class="keyword">namespace </span>glm
<a name="l00050"></a>00050 {
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00057"></a>00057 valType radialGradient(
<a name="l00058"></a>00058 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Center,
<a name="l00059"></a>00059 valType <span class="keyword">const</span> &amp; Radius,
<a name="l00060"></a>00060 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Focal,
<a name="l00061"></a>00061 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Position);
<a name="l00062"></a>00062
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00066"></a>00066 valType linearGradient(
<a name="l00067"></a>00067 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Point0,
<a name="l00068"></a>00068 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Point1,
<a name="l00069"></a>00069 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Position);
<a name="l00070"></a>00070
<a name="l00072"></a>00072 }<span class="comment">// namespace glm</span>
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="preprocessor">#include &quot;gradient_paint.inl&quot;</span>
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="preprocessor">#endif//GLM_GTX_gradient_paint</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>half_float.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">half_float.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00036_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00141.html">GLM_GTC_half_float: Half-precision floating-point based types and functions</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-04-29 / 2011-06-05 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00036_source.html">half_float.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,408 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>half_float.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">half_float.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00036.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="preprocessor">#ifndef GLM_GTC_half_float</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTC_half_float GLM_VERSION</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="comment">// Dependency:</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_half_float extension included&quot;)</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a>00047 <span class="keyword">namespace </span>glm{
<a name="l00048"></a>00048 <span class="keyword">namespace </span>detail
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050 <span class="preprocessor">#if(!GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE())</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span> <span class="keyword">template</span> &lt;&gt;
<a name="l00052"></a>00052 <span class="keyword">struct </span>tvec2&lt;half&gt;
<a name="l00053"></a>00053 {
<a name="l00054"></a>00054 <span class="keyword">enum</span> ctor{null};
<a name="l00055"></a>00055 <span class="keyword">typedef</span> half value_type;
<a name="l00056"></a>00056 <span class="keyword">typedef</span> std::size_t size_type;
<a name="l00057"></a>00057
<a name="l00058"></a>00058 GLM_FUNC_DECL size_type <a class="code" href="a00127.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>() <span class="keyword">const</span>;
<a name="l00059"></a>00059 <span class="keyword">static</span> GLM_FUNC_DECL size_type value_size();
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">typedef</span> tvec2&lt;half&gt; type;
<a name="l00062"></a>00062 <span class="keyword">typedef</span> tvec2&lt;bool&gt; bool_type;
<a name="l00063"></a>00063
<a name="l00065"></a>00065 <span class="comment">// Data</span>
<a name="l00066"></a>00066
<a name="l00067"></a>00067 half x, y;
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="comment">// Accesses</span>
<a name="l00071"></a>00071
<a name="l00072"></a>00072 half &amp; operator[](size_type i);
<a name="l00073"></a>00073 half <span class="keyword">const</span> &amp; operator[](size_type i) <span class="keyword">const</span>;
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="comment">// Implicit basic constructors</span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 tvec2();
<a name="l00079"></a>00079 tvec2(tvec2&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00080"></a>00080
<a name="l00082"></a>00082 <span class="comment">// Explicit basic constructors</span>
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="keyword">explicit</span> tvec2(ctor);
<a name="l00085"></a>00085 <span class="keyword">explicit</span> tvec2(
<a name="l00086"></a>00086 half <span class="keyword">const</span> &amp; s);
<a name="l00087"></a>00087 <span class="keyword">explicit</span> tvec2(
<a name="l00088"></a>00088 half <span class="keyword">const</span> &amp; s1,
<a name="l00089"></a>00089 half <span class="keyword">const</span> &amp; s2);
<a name="l00090"></a>00090
<a name="l00092"></a>00092 <span class="comment">// Swizzle constructors</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 tvec2(tref2&lt;half&gt; <span class="keyword">const</span> &amp; r);
<a name="l00095"></a>00095
<a name="l00097"></a>00097 <span class="comment">// Convertion scalar constructors</span>
<a name="l00098"></a>00098
<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00101"></a>00101 <span class="keyword">explicit</span> tvec2(U <span class="keyword">const</span> &amp; x);
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V&gt;
<a name="l00104"></a>00104 <span class="keyword">explicit</span> tvec2(U <span class="keyword">const</span> &amp; x, V <span class="keyword">const</span> &amp; y);
<a name="l00105"></a>00105
<a name="l00107"></a>00107 <span class="comment">// Convertion vector constructors</span>
<a name="l00108"></a>00108
<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00111"></a>00111 <span class="keyword">explicit</span> tvec2(tvec2&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00113"></a>00113 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00114"></a>00114 <span class="keyword">explicit</span> tvec2(tvec3&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00117"></a>00117 <span class="keyword">explicit</span> tvec2(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00118"></a>00118
<a name="l00120"></a>00120 <span class="comment">// Unary arithmetic operators</span>
<a name="l00121"></a>00121
<a name="l00122"></a>00122 tvec2&lt;half&gt;&amp; operator= (tvec2&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00123"></a>00123
<a name="l00124"></a>00124 tvec2&lt;half&gt;&amp; operator+=(half <span class="keyword">const</span> &amp; s);
<a name="l00125"></a>00125 tvec2&lt;half&gt;&amp; operator+=(tvec2&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00126"></a>00126 tvec2&lt;half&gt;&amp; operator-=(half <span class="keyword">const</span> &amp; s);
<a name="l00127"></a>00127 tvec2&lt;half&gt;&amp; operator-=(tvec2&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00128"></a>00128 tvec2&lt;half&gt;&amp; operator*=(half <span class="keyword">const</span> &amp; s);
<a name="l00129"></a>00129 tvec2&lt;half&gt;&amp; operator*=(tvec2&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00130"></a>00130 tvec2&lt;half&gt;&amp; operator/=(half <span class="keyword">const</span> &amp; s);
<a name="l00131"></a>00131 tvec2&lt;half&gt;&amp; operator/=(tvec2&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00132"></a>00132 tvec2&lt;half&gt;&amp; operator++();
<a name="l00133"></a>00133 tvec2&lt;half&gt;&amp; operator--();
<a name="l00134"></a>00134
<a name="l00136"></a>00136 <span class="comment">// Swizzle operators</span>
<a name="l00137"></a>00137
<a name="l00138"></a>00138 half swizzle(comp X) <span class="keyword">const</span>;
<a name="l00139"></a>00139 tvec2&lt;half&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00140"></a>00140 tvec3&lt;half&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00141"></a>00141 tvec4&lt;half&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00142"></a>00142 tref2&lt;half&gt; swizzle(comp X, comp Y);
<a name="l00143"></a>00143 };
<a name="l00144"></a>00144
<a name="l00145"></a>00145 <span class="keyword">template</span> &lt;&gt;
<a name="l00146"></a>00146 <span class="keyword">struct </span>tvec3&lt;half&gt;
<a name="l00147"></a>00147 {
<a name="l00148"></a>00148 <span class="keyword">enum</span> ctor{null};
<a name="l00149"></a>00149 <span class="keyword">typedef</span> half value_type;
<a name="l00150"></a>00150 <span class="keyword">typedef</span> std::size_t size_type;
<a name="l00151"></a>00151 GLM_FUNC_DECL size_type <a class="code" href="a00127.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>() <span class="keyword">const</span>;
<a name="l00152"></a>00152 <span class="keyword">static</span> GLM_FUNC_DECL size_type value_size();
<a name="l00153"></a>00153
<a name="l00154"></a>00154 <span class="keyword">typedef</span> tvec3&lt;half&gt; type;
<a name="l00155"></a>00155 <span class="keyword">typedef</span> tvec3&lt;bool&gt; bool_type;
<a name="l00156"></a>00156
<a name="l00158"></a>00158 <span class="comment">// Data</span>
<a name="l00159"></a>00159
<a name="l00160"></a>00160 half x, y, z;
<a name="l00161"></a>00161
<a name="l00163"></a>00163 <span class="comment">// Accesses</span>
<a name="l00164"></a>00164
<a name="l00165"></a>00165 half &amp; operator[](size_type i);
<a name="l00166"></a>00166 half <span class="keyword">const</span> &amp; operator[](size_type i) <span class="keyword">const</span>;
<a name="l00167"></a>00167
<a name="l00169"></a>00169 <span class="comment">// Implicit basic constructors</span>
<a name="l00170"></a>00170
<a name="l00171"></a>00171 tvec3();
<a name="l00172"></a>00172 tvec3(tvec3&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00173"></a>00173
<a name="l00175"></a>00175 <span class="comment">// Explicit basic constructors</span>
<a name="l00176"></a>00176
<a name="l00177"></a>00177 <span class="keyword">explicit</span> tvec3(ctor);
<a name="l00178"></a>00178 <span class="keyword">explicit</span> tvec3(
<a name="l00179"></a>00179 half <span class="keyword">const</span> &amp; s);
<a name="l00180"></a>00180 <span class="keyword">explicit</span> tvec3(
<a name="l00181"></a>00181 half <span class="keyword">const</span> &amp; s1,
<a name="l00182"></a>00182 half <span class="keyword">const</span> &amp; s2,
<a name="l00183"></a>00183 half <span class="keyword">const</span> &amp; s3);
<a name="l00184"></a>00184
<a name="l00186"></a>00186 <span class="comment">// Swizzle constructors</span>
<a name="l00187"></a>00187
<a name="l00188"></a>00188 tvec3(tref3&lt;half&gt; <span class="keyword">const</span> &amp; r);
<a name="l00189"></a>00189
<a name="l00191"></a>00191 <span class="comment">// Convertion scalar constructors</span>
<a name="l00192"></a>00192
<a name="l00194"></a>00194 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00195"></a>00195 <span class="keyword">explicit</span> tvec3(U <span class="keyword">const</span> &amp; x);
<a name="l00197"></a>00197 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V, <span class="keyword">typename</span> W&gt;
<a name="l00198"></a>00198 <span class="keyword">explicit</span> tvec3(U <span class="keyword">const</span> &amp; x, V <span class="keyword">const</span> &amp; y, W <span class="keyword">const</span> &amp; z);
<a name="l00199"></a>00199
<a name="l00201"></a>00201 <span class="comment">// Convertion vector constructors</span>
<a name="l00202"></a>00202
<a name="l00204"></a>00204 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00205"></a>00205 <span class="keyword">explicit</span> tvec3(tvec2&lt;A&gt; <span class="keyword">const</span> &amp; v, B <span class="keyword">const</span> &amp; s);
<a name="l00207"></a>00207 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00208"></a>00208 <span class="keyword">explicit</span> tvec3(A <span class="keyword">const</span> &amp; s, tvec2&lt;B&gt; <span class="keyword">const</span> &amp; v);
<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00211"></a>00211 <span class="keyword">explicit</span> tvec3(tvec3&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00213"></a>00213 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00214"></a>00214 <span class="keyword">explicit</span> tvec3(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00215"></a>00215
<a name="l00217"></a>00217 <span class="comment">// Unary arithmetic operators</span>
<a name="l00218"></a>00218
<a name="l00219"></a>00219 tvec3&lt;half&gt;&amp; operator= (tvec3&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00220"></a>00220
<a name="l00221"></a>00221 tvec3&lt;half&gt;&amp; operator+=(half <span class="keyword">const</span> &amp; s);
<a name="l00222"></a>00222 tvec3&lt;half&gt;&amp; operator+=(tvec3&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00223"></a>00223 tvec3&lt;half&gt;&amp; operator-=(half <span class="keyword">const</span> &amp; s);
<a name="l00224"></a>00224 tvec3&lt;half&gt;&amp; operator-=(tvec3&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00225"></a>00225 tvec3&lt;half&gt;&amp; operator*=(half <span class="keyword">const</span> &amp; s);
<a name="l00226"></a>00226 tvec3&lt;half&gt;&amp; operator*=(tvec3&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00227"></a>00227 tvec3&lt;half&gt;&amp; operator/=(half <span class="keyword">const</span> &amp; s);
<a name="l00228"></a>00228 tvec3&lt;half&gt;&amp; operator/=(tvec3&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00229"></a>00229 tvec3&lt;half&gt;&amp; operator++();
<a name="l00230"></a>00230 tvec3&lt;half&gt;&amp; operator--();
<a name="l00231"></a>00231
<a name="l00233"></a>00233 <span class="comment">// Swizzle operators</span>
<a name="l00234"></a>00234
<a name="l00235"></a>00235 half swizzle(comp X) <span class="keyword">const</span>;
<a name="l00236"></a>00236 tvec2&lt;half&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00237"></a>00237 tvec3&lt;half&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00238"></a>00238 tvec4&lt;half&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00239"></a>00239 tref3&lt;half&gt; swizzle(comp X, comp Y, comp Z);
<a name="l00240"></a>00240 };
<a name="l00241"></a>00241
<a name="l00242"></a>00242 <span class="keyword">template</span> &lt;&gt;
<a name="l00243"></a>00243 <span class="keyword">struct </span>tvec4&lt;half&gt;
<a name="l00244"></a>00244 {
<a name="l00245"></a>00245 <span class="keyword">enum</span> ctor{null};
<a name="l00246"></a>00246 <span class="keyword">typedef</span> half value_type;
<a name="l00247"></a>00247 <span class="keyword">typedef</span> std::size_t size_type;
<a name="l00248"></a>00248 GLM_FUNC_DECL size_type <a class="code" href="a00127.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>() <span class="keyword">const</span>;
<a name="l00249"></a>00249 <span class="keyword">static</span> GLM_FUNC_DECL size_type value_size();
<a name="l00250"></a>00250
<a name="l00251"></a>00251 <span class="keyword">typedef</span> tvec4&lt;half&gt; type;
<a name="l00252"></a>00252 <span class="keyword">typedef</span> tvec4&lt;bool&gt; bool_type;
<a name="l00253"></a>00253
<a name="l00255"></a>00255 <span class="comment">// Data</span>
<a name="l00256"></a>00256
<a name="l00257"></a>00257 half x, y, z, w;
<a name="l00258"></a>00258
<a name="l00260"></a>00260 <span class="comment">// Accesses</span>
<a name="l00261"></a>00261
<a name="l00262"></a>00262 half &amp; operator[](size_type i);
<a name="l00263"></a>00263 half <span class="keyword">const</span> &amp; operator[](size_type i) <span class="keyword">const</span>;
<a name="l00264"></a>00264
<a name="l00266"></a>00266 <span class="comment">// Implicit basic constructors</span>
<a name="l00267"></a>00267
<a name="l00268"></a>00268 tvec4();
<a name="l00269"></a>00269 tvec4(tvec4&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00270"></a>00270
<a name="l00272"></a>00272 <span class="comment">// Explicit basic constructors</span>
<a name="l00273"></a>00273
<a name="l00274"></a>00274 <span class="keyword">explicit</span> tvec4(ctor);
<a name="l00275"></a>00275 <span class="keyword">explicit</span> tvec4(
<a name="l00276"></a>00276 half <span class="keyword">const</span> &amp; s);
<a name="l00277"></a>00277 <span class="keyword">explicit</span> tvec4(
<a name="l00278"></a>00278 half <span class="keyword">const</span> &amp; s0,
<a name="l00279"></a>00279 half <span class="keyword">const</span> &amp; s1,
<a name="l00280"></a>00280 half <span class="keyword">const</span> &amp; s2,
<a name="l00281"></a>00281 half <span class="keyword">const</span> &amp; s3);
<a name="l00282"></a>00282
<a name="l00284"></a>00284 <span class="comment">// Swizzle constructors</span>
<a name="l00285"></a>00285
<a name="l00286"></a>00286 tvec4(tref4&lt;half&gt; <span class="keyword">const</span> &amp; r);
<a name="l00287"></a>00287
<a name="l00289"></a>00289 <span class="comment">// Convertion scalar constructors</span>
<a name="l00290"></a>00290
<a name="l00292"></a>00292 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00293"></a>00293 <span class="keyword">explicit</span> tvec4(U <span class="keyword">const</span> &amp; x);
<a name="l00295"></a>00295 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> D&gt;
<a name="l00296"></a>00296 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; x, B <span class="keyword">const</span> &amp; y, C <span class="keyword">const</span> &amp; z, D <span class="keyword">const</span> &amp; w);
<a name="l00297"></a>00297
<a name="l00299"></a>00299 <span class="comment">// Convertion vector constructors</span>
<a name="l00300"></a>00300
<a name="l00302"></a>00302 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
<a name="l00303"></a>00303 <span class="keyword">explicit</span> tvec4(tvec2&lt;A&gt; <span class="keyword">const</span> &amp; v, B <span class="keyword">const</span> &amp; s1, C <span class="keyword">const</span> &amp; s2);
<a name="l00305"></a>00305 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
<a name="l00306"></a>00306 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; s1, tvec2&lt;B&gt; <span class="keyword">const</span> &amp; v, C <span class="keyword">const</span> &amp; s2);
<a name="l00308"></a>00308 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
<a name="l00309"></a>00309 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; s1, B <span class="keyword">const</span> &amp; s2, tvec2&lt;C&gt; <span class="keyword">const</span> &amp; v);
<a name="l00311"></a>00311 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00312"></a>00312 <span class="keyword">explicit</span> tvec4(tvec3&lt;A&gt; <span class="keyword">const</span> &amp; v, B <span class="keyword">const</span> &amp; s);
<a name="l00314"></a>00314 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00315"></a>00315 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; s, tvec3&lt;B&gt; <span class="keyword">const</span> &amp; v);
<a name="l00317"></a>00317 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00318"></a>00318 <span class="keyword">explicit</span> tvec4(tvec2&lt;A&gt; <span class="keyword">const</span> &amp; v1, tvec2&lt;B&gt; <span class="keyword">const</span> &amp; v2);
<a name="l00320"></a>00320 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00321"></a>00321 <span class="keyword">explicit</span> tvec4(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00322"></a>00322
<a name="l00324"></a>00324 <span class="comment">// Unary arithmetic operators</span>
<a name="l00325"></a>00325
<a name="l00326"></a>00326 tvec4&lt;half&gt;&amp; operator= (tvec4&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00327"></a>00327
<a name="l00328"></a>00328 tvec4&lt;half&gt;&amp; operator+=(half <span class="keyword">const</span> &amp; s);
<a name="l00329"></a>00329 tvec4&lt;half&gt;&amp; operator+=(tvec4&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00330"></a>00330 tvec4&lt;half&gt;&amp; operator-=(half <span class="keyword">const</span> &amp; s);
<a name="l00331"></a>00331 tvec4&lt;half&gt;&amp; operator-=(tvec4&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00332"></a>00332 tvec4&lt;half&gt;&amp; operator*=(half <span class="keyword">const</span> &amp; s);
<a name="l00333"></a>00333 tvec4&lt;half&gt;&amp; operator*=(tvec4&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00334"></a>00334 tvec4&lt;half&gt;&amp; operator/=(half <span class="keyword">const</span> &amp; s);
<a name="l00335"></a>00335 tvec4&lt;half&gt;&amp; operator/=(tvec4&lt;half&gt; <span class="keyword">const</span> &amp; v);
<a name="l00336"></a>00336 tvec4&lt;half&gt;&amp; operator++();
<a name="l00337"></a>00337 tvec4&lt;half&gt;&amp; operator--();
<a name="l00338"></a>00338
<a name="l00340"></a>00340 <span class="comment">// Swizzle operators</span>
<a name="l00341"></a>00341
<a name="l00342"></a>00342 half swizzle(comp X) <span class="keyword">const</span>;
<a name="l00343"></a>00343 tvec2&lt;half&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00344"></a>00344 tvec3&lt;half&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00345"></a>00345 tvec4&lt;half&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00346"></a>00346 tref4&lt;half&gt; swizzle(comp X, comp Y, comp Z, comp W);
<a name="l00347"></a>00347 };
<a name="l00348"></a>00348 <span class="preprocessor">#endif//(!GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE())</span>
<a name="l00349"></a>00349 <span class="preprocessor"></span>}
<a name="l00350"></a>00350 <span class="comment">//namespace detail</span>
<a name="l00351"></a>00351
<a name="l00354"></a>00354
<a name="l00357"></a>00357 <span class="keyword">typedef</span> detail::half half;
<a name="l00358"></a>00358
<a name="l00361"></a>00361 <span class="keyword">typedef</span> detail::tvec2&lt;detail::half&gt; hvec2;
<a name="l00362"></a>00362
<a name="l00365"></a>00365 <span class="keyword">typedef</span> detail::tvec3&lt;detail::half&gt; hvec3;
<a name="l00366"></a>00366
<a name="l00369"></a>00369 <span class="keyword">typedef</span> detail::tvec4&lt;detail::half&gt; hvec4;
<a name="l00370"></a>00370
<a name="l00373"></a>00373 <span class="keyword">typedef</span> detail::tmat2x2&lt;detail::half&gt; hmat2;
<a name="l00374"></a>00374
<a name="l00377"></a>00377 <span class="keyword">typedef</span> detail::tmat3x3&lt;detail::half&gt; hmat3;
<a name="l00378"></a>00378
<a name="l00381"></a>00381 <span class="keyword">typedef</span> detail::tmat4x4&lt;detail::half&gt; hmat4;
<a name="l00382"></a>00382
<a name="l00385"></a>00385 <span class="keyword">typedef</span> detail::tmat2x2&lt;detail::half&gt; hmat2x2;
<a name="l00386"></a>00386
<a name="l00389"></a>00389 <span class="keyword">typedef</span> detail::tmat2x3&lt;detail::half&gt; hmat2x3;
<a name="l00390"></a>00390
<a name="l00393"></a>00393 <span class="keyword">typedef</span> detail::tmat2x4&lt;detail::half&gt; hmat2x4;
<a name="l00394"></a>00394
<a name="l00397"></a>00397 <span class="keyword">typedef</span> detail::tmat3x2&lt;detail::half&gt; hmat3x2;
<a name="l00398"></a>00398
<a name="l00401"></a>00401 <span class="keyword">typedef</span> detail::tmat3x3&lt;detail::half&gt; hmat3x3;
<a name="l00402"></a>00402
<a name="l00405"></a>00405 <span class="keyword">typedef</span> detail::tmat3x4&lt;detail::half&gt; hmat3x4;
<a name="l00406"></a>00406
<a name="l00409"></a>00409 <span class="keyword">typedef</span> detail::tmat4x2&lt;detail::half&gt; hmat4x2;
<a name="l00410"></a>00410
<a name="l00413"></a>00413 <span class="keyword">typedef</span> detail::tmat4x3&lt;detail::half&gt; hmat4x3;
<a name="l00414"></a>00414
<a name="l00417"></a>00417 <span class="keyword">typedef</span> detail::tmat4x4&lt;detail::half&gt; hmat4x4;
<a name="l00418"></a>00418
<a name="l00420"></a>00420 }<span class="comment">// namespace glm</span>
<a name="l00421"></a>00421
<a name="l00422"></a>00422 <span class="preprocessor">#include &quot;half_float.inl&quot;</span>
<a name="l00423"></a>00423
<a name="l00424"></a>00424 <span class="preprocessor">#endif//GLM_GTC_half_float</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>handed_coordinate_space.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">handed_coordinate_space.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00037_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00169.html">GLM_GTX_handed_coordinate_space: Space Handedness</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-12-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00037_source.html">handed_coordinate_space.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,133 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>handed_coordinate_space.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">handed_coordinate_space.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00037.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_handed_coordinate_space</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_handed_coordinate_space GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_handed_coordinate_space extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00056"></a>00056 <span class="keywordtype">bool</span> rightHanded(
<a name="l00057"></a>00057 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; tangent,
<a name="l00058"></a>00058 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; binormal,
<a name="l00059"></a>00059 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; normal);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00064"></a>00064 <span class="keywordtype">bool</span> leftHanded(
<a name="l00065"></a>00065 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; tangent,
<a name="l00066"></a>00066 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; binormal,
<a name="l00067"></a>00067 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; normal);
<a name="l00068"></a>00068
<a name="l00070"></a>00070 }<span class="comment">// namespace glm</span>
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="preprocessor">#include &quot;handed_coordinate_space.inl&quot;</span>
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="preprocessor">#endif//GLM_GTX_handed_coordinate_space</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>hint.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">hint.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00038_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2008-08-14 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00038_source.html">hint.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,106 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>hint.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">hint.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00038.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_core_type</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_type</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="keyword">namespace </span>glm
<a name="l00033"></a>00033 {
<a name="l00034"></a>00034 <span class="comment">// Use dont_care, nicest and fastest to optimize implementations.</span>
<a name="l00035"></a>00035 <span class="keyword">class </span>dont_care {};
<a name="l00036"></a>00036 <span class="keyword">class </span>nicest {};
<a name="l00037"></a>00037 <span class="keyword">class </span>fastest {};
<a name="l00038"></a>00038 }<span class="comment">//namespace glm</span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#endif//glm_core_type</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>inertia.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">inertia.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00039_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00170.html">GLM_GTX_inertia: Intertial matrix</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-04-21 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00164.html" title="Min and max functions for 3 to 4 parameters.">GLM_GTX_extented_min_max: Extended min max</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00039_source.html">inertia.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,162 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>inertia.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">inertia.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00039.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_inertia</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_inertia GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_inertia extension included&quot;)</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>
<a name="l00049"></a>00049 <span class="keyword">namespace </span>glm
<a name="l00050"></a>00050 {
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00057"></a>00057 detail::tmat3x3&lt;T&gt; boxInertia3(
<a name="l00058"></a>00058 T <span class="keyword">const</span> &amp; Mass,
<a name="l00059"></a>00059 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; Scale);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00064"></a>00064 detail::tmat4x4&lt;T&gt; boxInertia4(
<a name="l00065"></a>00065 T <span class="keyword">const</span> &amp; Mass,
<a name="l00066"></a>00066 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; Scale);
<a name="l00067"></a>00067
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00071"></a>00071 detail::tmat3x3&lt;T&gt; diskInertia3(
<a name="l00072"></a>00072 T <span class="keyword">const</span> &amp; Mass,
<a name="l00073"></a>00073 T <span class="keyword">const</span> &amp; Radius);
<a name="l00074"></a>00074
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00078"></a>00078 detail::tmat4x4&lt;T&gt; diskInertia4(
<a name="l00079"></a>00079 T <span class="keyword">const</span> &amp; Mass,
<a name="l00080"></a>00080 T <span class="keyword">const</span> &amp; Radius);
<a name="l00081"></a>00081
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00085"></a>00085 detail::tmat3x3&lt;T&gt; ballInertia3(
<a name="l00086"></a>00086 T <span class="keyword">const</span> &amp; Mass,
<a name="l00087"></a>00087 T <span class="keyword">const</span> &amp; Radius);
<a name="l00088"></a>00088
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00092"></a>00092 detail::tmat4x4&lt;T&gt; ballInertia4(
<a name="l00093"></a>00093 T <span class="keyword">const</span> &amp; Mass,
<a name="l00094"></a>00094 T <span class="keyword">const</span> &amp; Radius);
<a name="l00095"></a>00095
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00099"></a>00099 detail::tmat3x3&lt;T&gt; sphereInertia3(
<a name="l00100"></a>00100 T <span class="keyword">const</span> &amp; Mass,
<a name="l00101"></a>00101 T <span class="keyword">const</span> &amp; Radius);
<a name="l00102"></a>00102
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00106"></a>00106 detail::tmat4x4&lt;T&gt; sphereInertia4(
<a name="l00107"></a>00107 T <span class="keyword">const</span> &amp; Mass,
<a name="l00108"></a>00108 T <span class="keyword">const</span> &amp; Radius);
<a name="l00109"></a>00109
<a name="l00111"></a>00111 }<span class="comment">// namespace glm</span>
<a name="l00112"></a>00112
<a name="l00113"></a>00113 <span class="preprocessor">#include &quot;inertia.inl&quot;</span>
<a name="l00114"></a>00114
<a name="l00115"></a>00115 <span class="preprocessor">#endif//GLM_GTX_inertia</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>int_10_10_10_2.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">int_10_10_10_2.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00040_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00171.html">GLM_GTX_int_10_10_10_2: Packed integer</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2010-07-07 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00195.html" title="Projection of a vector to other one.">GLM_GTX_raw_data: Raw data</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00040_source.html">int_10_10_10_2.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,125 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>int_10_10_10_2.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">int_10_10_10_2.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00040.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_int_10_10_10_2</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_int_10_10_10_2 GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtx/raw_data.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_int_10_10_10_2 extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 dword uint10_10_10_2_cast(<a class="code" href="a00138.html#ga3f36f44916da88f7173bc4afa030ebe1" title="4 components vector of floating-point numbers.">glm::vec4</a> <span class="keyword">const</span> &amp; v);
<a name="l00058"></a>00058
<a name="l00060"></a>00060 }<span class="comment">//namespace glm</span>
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;int_10_10_10_2.inl&quot;</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#endif//GLM_GTX_int_10_10_10_2</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,79 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>integer.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">integer.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00041_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00172.html">GLM_GTX_integer: Extended integer functions</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-12-24 / 2011-10-13 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00041_source.html">integer.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,145 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>integer.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">integer.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00041.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef GLM_GTX_integer</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_integer GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_integer extension included&quot;)</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="a00126.html#gac93ea301c287d87a63fa14a4c44b719b" title="Returns x raised to the y power.">pow</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <span class="keywordtype">int</span> <a class="code" href="a00126.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(<span class="keywordtype">int</span> x);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00064"></a>00064 genIUType <a class="code" href="a00126.html#gae19ff18661b33a0fe1b8edee61382f40" title="Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...">log2</a>(genIUType <span class="keyword">const</span> &amp; x);
<a name="l00065"></a>00065
<a name="l00068"></a>00068 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> floor_log2(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x);
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keywordtype">int</span> <a class="code" href="a00125.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00077"></a>00077 genType factorial(genType <span class="keyword">const</span> &amp; x);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> sint;
<a name="l00082"></a>00082
<a name="l00085"></a>00085 <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00126.html#gac93ea301c287d87a63fa14a4c44b719b" title="Returns x raised to the y power.">pow</a>(<a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x, <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> y);
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00126.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(<a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x);
<a name="l00090"></a>00090
<a name="l00093"></a>00093 <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00125.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(<a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x, <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> y);
<a name="l00094"></a>00094
<a name="l00097"></a>00097 <a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> nlz(<a class="code" href="a00139.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x);
<a name="l00098"></a>00098
<a name="l00100"></a>00100 }<span class="comment">//namespace glm</span>
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="preprocessor">#include &quot;integer.inl&quot;</span>
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="preprocessor">#endif//GLM_GTX_integer</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,81 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intersect.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intersect.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00042_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00173.html">GLM_GTX_intersect: Intersection tests</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-04-03 / 2011-06-07 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00137.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
<dd>
<a class="el" href="a00154.html" title="Find the point on a straight line which is the closet of a point.">GLM_GTX_closest_point: Find closest point</a> (dependence) </dd></dl>
<p>Definition in file <a class="el" href="a00042_source.html">intersect.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,147 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intersect.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intersect.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00042.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_intersect</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_intersect GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;../gtx/closest_point.hpp&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_closest_point extension included&quot;)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00058"></a>00058 <span class="keywordtype">bool</span> intersectRayTriangle(
<a name="l00059"></a>00059 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00060"></a>00060 genType <span class="keyword">const</span> &amp; vert0, genType <span class="keyword">const</span> &amp; vert1, genType <span class="keyword">const</span> &amp; vert2,
<a name="l00061"></a>00061 genType &amp; baryPosition);
<a name="l00062"></a>00062
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00066"></a>00066 <span class="keywordtype">bool</span> intersectLineTriangle(
<a name="l00067"></a>00067 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00068"></a>00068 genType <span class="keyword">const</span> &amp; vert0, genType <span class="keyword">const</span> &amp; vert1, genType <span class="keyword">const</span> &amp; vert2,
<a name="l00069"></a>00069 genType &amp; position);
<a name="l00070"></a>00070
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00074"></a>00074 <span class="keywordtype">bool</span> intersectRaySphere(
<a name="l00075"></a>00075 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00076"></a>00076 genType <span class="keyword">const</span> &amp; center, <span class="keyword">typename</span> genType::value_type radius,
<a name="l00077"></a>00077 genType &amp; position, genType &amp; normal);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00082"></a>00082 <span class="keywordtype">bool</span> intersectLineSphere(
<a name="l00083"></a>00083 genType <span class="keyword">const</span> &amp; point0, genType <span class="keyword">const</span> &amp; point1,
<a name="l00084"></a>00084 genType <span class="keyword">const</span> &amp; center, <span class="keyword">typename</span> genType::value_type radius,
<a name="l00085"></a>00085 genType &amp; position, genType &amp; normal);
<a name="l00086"></a>00086
<a name="l00088"></a>00088 }<span class="comment">//namespace glm</span>
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="preprocessor">#include &quot;intersect.inl&quot;</span>
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#endif//GLM_GTX_intersect</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,84 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_common.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_common.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00043_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-05-11 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio</dd></dl>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-06-05 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00043_source.html">intrinsic_common.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,155 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_common.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_common.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00043.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_detail_intrinsic_common</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_common</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="a00082.html" title="OpenGL Mathematics (glm.g-truc.net)">setup.hpp</a>&quot;</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="keyword">namespace </span>glm{
<a name="l00039"></a>00039 <span class="keyword">namespace </span>detail
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 __m128 sse_abs_ps(__m128 x);
<a name="l00042"></a>00042
<a name="l00043"></a>00043 __m128 sse_sgn_ps(__m128 x);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="comment">//floor</span>
<a name="l00046"></a>00046 __m128 sse_flr_ps(__m128 v);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="comment">//trunc</span>
<a name="l00049"></a>00049 __m128 sse_trc_ps(__m128 v);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="comment">//round</span>
<a name="l00052"></a>00052 __m128 sse_nd_ps(__m128 v);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="comment">//roundEven</span>
<a name="l00055"></a>00055 __m128 sse_rde_ps(__m128 v);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 __m128 sse_rnd_ps(__m128 x);
<a name="l00058"></a>00058
<a name="l00059"></a>00059 __m128 sse_ceil_ps(__m128 v);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 __m128 sse_frc_ps(__m128 x);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 __m128 sse_mod_ps(__m128 x, __m128 y);
<a name="l00064"></a>00064
<a name="l00065"></a>00065 __m128 sse_modf_ps(__m128 x, __m128i &amp; i);
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="comment">//GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="comment">//GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)</span>
<a name="l00070"></a>00070
<a name="l00071"></a>00071 __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 __m128 sse_stp_ps(__m128 edge, __m128 x);
<a name="l00076"></a>00076
<a name="l00077"></a>00077 __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 __m128 sse_nan_ps(__m128 x);
<a name="l00080"></a>00080
<a name="l00081"></a>00081 __m128 sse_inf_ps(__m128 x);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 }<span class="comment">//namespace detail</span>
<a name="l00084"></a>00084 }<span class="comment">//namespace glm</span>
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#include &quot;intrinsic_common.inl&quot;</span>
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_common</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_exponential.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_exponential.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00044_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-05-11 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00044_source.html">intrinsic_exponential.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,145 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_exponential.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_exponential.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00044.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_detail_intrinsic_exponential</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_exponential</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="a00082.html" title="OpenGL Mathematics (glm.g-truc.net)">setup.hpp</a>&quot;</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="keyword">namespace </span>glm{
<a name="l00039"></a>00039 <span class="keyword">namespace </span>detail
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <span class="comment">/*</span>
<a name="l00042"></a>00042 <span class="comment">GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)</span>
<a name="l00043"></a>00043 <span class="comment">{</span>
<a name="l00044"></a>00044 <span class="comment"> __m128 recip = _mm_rsqrt_ss( x ); // &quot;estimate&quot; opcode</span>
<a name="l00045"></a>00045 <span class="comment"> const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load</span>
<a name="l00046"></a>00046 <span class="comment"> const static __m128 half = { 0.5,0.5,0.5,0.5 };</span>
<a name="l00047"></a>00047 <span class="comment"> __m128 halfrecip = _mm_mul_ss( half, recip );</span>
<a name="l00048"></a>00048 <span class="comment"> __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );</span>
<a name="l00049"></a>00049 <span class="comment"> return _mm_mul_ss( halfrecip, threeminus_xrr );</span>
<a name="l00050"></a>00050 <span class="comment">}</span>
<a name="l00051"></a>00051 <span class="comment"> </span>
<a name="l00052"></a>00052 <span class="comment">GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )</span>
<a name="l00053"></a>00053 <span class="comment">{</span>
<a name="l00054"></a>00054 <span class="comment"> __m128 x = _mm_load_ss(&amp;vIn[0]);</span>
<a name="l00055"></a>00055 <span class="comment"> __m128 y = _mm_load_ss(&amp;vIn[1]);</span>
<a name="l00056"></a>00056 <span class="comment"> __m128 z = _mm_load_ss(&amp;vIn[2]);</span>
<a name="l00057"></a>00057 <span class="comment"> </span>
<a name="l00058"></a>00058 <span class="comment"> const __m128 l = // compute x*x + y*y + z*z</span>
<a name="l00059"></a>00059 <span class="comment"> _mm_add_ss(</span>
<a name="l00060"></a>00060 <span class="comment"> _mm_add_ss( _mm_mul_ss(x,x),</span>
<a name="l00061"></a>00061 <span class="comment"> _mm_mul_ss(y,y)</span>
<a name="l00062"></a>00062 <span class="comment"> ),</span>
<a name="l00063"></a>00063 <span class="comment"> _mm_mul_ss( z, z )</span>
<a name="l00064"></a>00064 <span class="comment"> );</span>
<a name="l00065"></a>00065 <span class="comment"> </span>
<a name="l00066"></a>00066 <span class="comment"> </span>
<a name="l00067"></a>00067 <span class="comment"> const __m128 rsqt = _mm_rsqrt_nr_ss( l );</span>
<a name="l00068"></a>00068 <span class="comment"> _mm_store_ss( &amp;vOut[0] , _mm_mul_ss( rsqt, x ) );</span>
<a name="l00069"></a>00069 <span class="comment"> _mm_store_ss( &amp;vOut[1] , _mm_mul_ss( rsqt, y ) );</span>
<a name="l00070"></a>00070 <span class="comment"> _mm_store_ss( &amp;vOut[2] , _mm_mul_ss( rsqt, z ) );</span>
<a name="l00071"></a>00071 <span class="comment"> </span>
<a name="l00072"></a>00072 <span class="comment"> return _mm_mul_ss( l , rsqt );</span>
<a name="l00073"></a>00073 <span class="comment">}</span>
<a name="l00074"></a>00074 <span class="comment">*/</span>
<a name="l00075"></a>00075 }<span class="comment">//namespace detail</span>
<a name="l00076"></a>00076 }<span class="comment">//namespace glm</span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_exponential</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_geometric.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_geometric.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00045_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-05-08 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00045_source.html">intrinsic_geometric.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,142 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_geometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_geometric.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00045.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_core_intrinsic_geometric</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_intrinsic_geometric</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="a00082.html" title="OpenGL Mathematics (glm.g-truc.net)">setup.hpp</a>&quot;</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &quot;<a class="code" href="a00043.html" title="OpenGL Mathematics (glm.g-truc.net)">intrinsic_common.hpp</a>&quot;</span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">namespace </span>glm{
<a name="l00041"></a>00041 <span class="keyword">namespace </span>detail
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 <span class="comment">//length</span>
<a name="l00044"></a>00044 __m128 sse_len_ps(__m128 x);
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="comment">//distance</span>
<a name="l00047"></a>00047 __m128 sse_dst_ps(__m128 p0, __m128 p1);
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="comment">//dot</span>
<a name="l00050"></a>00050 __m128 sse_dot_ps(__m128 v1, __m128 v2);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="comment">// SSE1</span>
<a name="l00053"></a>00053 __m128 sse_dot_ss(__m128 v1, __m128 v2);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="comment">//cross</span>
<a name="l00056"></a>00056 __m128 sse_xpd_ps(__m128 v1, __m128 v2);
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">//normalize</span>
<a name="l00059"></a>00059 __m128 sse_nrm_ps(__m128 v);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">//faceforward</span>
<a name="l00062"></a>00062 __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">//reflect</span>
<a name="l00065"></a>00065 __m128 sse_rfe_ps(__m128 I, __m128 N);
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="comment">//refract</span>
<a name="l00068"></a>00068 __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
<a name="l00069"></a>00069
<a name="l00070"></a>00070 }<span class="comment">//namespace detail</span>
<a name="l00071"></a>00071 }<span class="comment">//namespace glm</span>
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="preprocessor">#include &quot;intrinsic_geometric.inl&quot;</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_core_intrinsic_geometric</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,135 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_matrix.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_matrix.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef glm_detail_intrinsic_matrix</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_matrix</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="a00082.html" title="OpenGL Mathematics (glm.g-truc.net)">setup.hpp</a>&quot;</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &quot;<a class="code" href="a00045.html" title="OpenGL Mathematics (glm.g-truc.net)">intrinsic_geometric.hpp</a>&quot;</span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">namespace </span>glm{
<a name="l00041"></a>00041 <span class="keyword">namespace </span>detail
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 <span class="keywordtype">void</span> sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keywordtype">void</span> sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
<a name="l00046"></a>00046
<a name="l00047"></a>00047 __m128 sse_mul_ps(__m128 m[4], __m128 v);
<a name="l00048"></a>00048
<a name="l00049"></a>00049 __m128 sse_mul_ps(__m128 v, __m128 m[4]);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordtype">void</span> sse_mul_ps(__m128 <span class="keyword">const</span> in1[4], __m128 <span class="keyword">const</span> in2[4], __m128 out[4]);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">void</span> sse_transpose_ps(__m128 <span class="keyword">const</span> in[4], __m128 out[4]);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keywordtype">void</span> sse_inverse_ps(__m128 <span class="keyword">const</span> in[4], __m128 out[4]);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keywordtype">void</span> sse_rotate_ps(__m128 <span class="keyword">const</span> in[4], <span class="keywordtype">float</span> Angle, <span class="keywordtype">float</span> <span class="keyword">const</span> v[3], __m128 out[4]);
<a name="l00058"></a>00058
<a name="l00059"></a>00059 __m128 sse_det_ps(__m128 <span class="keyword">const</span> m[4]);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 __m128 sse_slow_det_ps(__m128 <span class="keyword">const</span> m[4]);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 }<span class="comment">//namespace detail</span>
<a name="l00064"></a>00064 }<span class="comment">//namespace glm</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;intrinsic_matrix.inl&quot;</span>
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_matrix</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>intrinsic_trigonometric.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_trigonometric.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="a00047_source.html">Go to the source code of this file.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
<p>Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<p><a class="el" href="a00137.html">GLM Core</a></p>
<dl class="date"><dt><b>Date:</b></dt><dd>2009-06-09 / 2011-06-15 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Christophe Riccio </dd></dl>
<p>Definition in file <a class="el" href="a00047_source.html">intrinsic_trigonometric.hpp</a>.</p>
</div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More