00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 #pragma once 00040 00041 // Dependency: 00042 #include "type_precision.hpp" 00043 00044 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED)) 00045 # pragma message("GLM: GLM_GTC_packing extension included") 00046 #endif 00047 00048 namespace glm 00049 { 00052 00064 GLM_FUNC_DECL uint8 packUnorm1x8(float v); 00065 00076 GLM_FUNC_DECL float unpackUnorm1x8(uint8 p); 00077 00092 GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const & v); 00093 00108 GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p); 00109 00121 GLM_FUNC_DECL uint8 packSnorm1x8(float s); 00122 00134 GLM_FUNC_DECL float unpackSnorm1x8(uint8 p); 00135 00150 GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const & v); 00151 00166 GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p); 00167 00179 GLM_FUNC_DECL uint16 packUnorm1x16(float v); 00180 00192 GLM_FUNC_DECL float unpackUnorm1x16(uint16 p); 00193 00208 GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const & v); 00209 00224 GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p); 00225 00237 GLM_FUNC_DECL uint16 packSnorm1x16(float v); 00238 00250 GLM_FUNC_DECL float unpackSnorm1x16(uint16 p); 00251 00266 GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const & v); 00267 00282 GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const & p); 00283 00293 GLM_FUNC_DECL uint16 packHalf1x16(float v); 00294 00304 GLM_FUNC_DECL float unpackHalf1x16(uint16 v); 00305 00317 GLM_FUNC_DECL uint64 packHalf4x16(vec4 const & v); 00318 00330 GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p); 00331 00343 GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const & v); 00344 00354 GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p); 00355 00367 GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const & v); 00368 00378 GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p); 00379 00396 GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const & v); 00397 00413 GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p); 00414 00431 GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const & v); 00432 00448 GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p); 00449 00459 GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const & v); 00460 00469 GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p); 00470 00472 }// namespace glm 00473 00474 #include "packing.inl"