color_cast.hpp
Go to the documentation of this file.
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 #ifndef GLM_GTX_color_cast
00040 #define GLM_GTX_color_cast GLM_VERSION
00041 
00042 // Dependency:
00043 #include "../glm.hpp"
00044 #include "../gtx/number_precision.hpp"
00045 
00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00047 #       pragma message("GLM: GLM_GTX_color_cast extension included")
00048 #endif
00049 
00050 namespace glm
00051 {
00054 
00057         template <typename valType> uint8 u8channel_cast(valType a);
00058 
00061         template <typename valType>     uint16 u16channel_cast(valType a);
00062 
00063         template <typename T> uint32 u32_rgbx_cast(const detail::tvec3<T>& c);          
00064         template <typename T> uint32 u32_xrgb_cast(const detail::tvec3<T>& c);          
00065         template <typename T> uint32 u32_bgrx_cast(const detail::tvec3<T>& c);          
00066         template <typename T> uint32 u32_xbgr_cast(const detail::tvec3<T>& c);          
00067 
00068         template <typename T> uint32 u32_rgba_cast(const detail::tvec4<T>& c);          
00069         template <typename T> uint32 u32_argb_cast(const detail::tvec4<T>& c);          
00070         template <typename T> uint32 u32_bgra_cast(const detail::tvec4<T>& c);          
00071         template <typename T> uint32 u32_abgr_cast(const detail::tvec4<T>& c);          
00072 
00073         template <typename T> uint64 u64_rgbx_cast(const detail::tvec3<T>& c);          
00074         template <typename T> uint64 u64_xrgb_cast(const detail::tvec3<T>& c);          
00075         template <typename T> uint64 u64_bgrx_cast(const detail::tvec3<T>& c);          
00076         template <typename T> uint64 u64_xbgr_cast(const detail::tvec3<T>& c);          
00077 
00078         template <typename T> uint64 u64_rgba_cast(const detail::tvec4<T>& c);          
00079         template <typename T> uint64 u64_argb_cast(const detail::tvec4<T>& c);          
00080         template <typename T> uint64 u64_bgra_cast(const detail::tvec4<T>& c);          
00081         template <typename T> uint64 u64_abgr_cast(const detail::tvec4<T>& c);          
00082 
00083         template <typename T> f16 f16_channel_cast(T a);        
00084 
00085         template <typename T> f16vec3 f16_rgbx_cast(T c);               
00086         template <typename T> f16vec3 f16_xrgb_cast(T c);               
00087         template <typename T> f16vec3 f16_bgrx_cast(T c);               
00088         template <typename T> f16vec3 f16_xbgr_cast(T c);               
00089 
00090         template <typename T> f16vec4 f16_rgba_cast(T c);               
00091         template <typename T> f16vec4 f16_argb_cast(T c);               
00092         template <typename T> f16vec4 f16_bgra_cast(T c);               
00093         template <typename T> f16vec4 f16_abgr_cast(T c);               
00094 
00095         template <typename T> f32 f32_channel_cast(T a);                
00096 
00097         template <typename T> f32vec3 f32_rgbx_cast(T c);               
00098         template <typename T> f32vec3 f32_xrgb_cast(T c);               
00099         template <typename T> f32vec3 f32_bgrx_cast(T c);               
00100         template <typename T> f32vec3 f32_xbgr_cast(T c);               
00101 
00102         template <typename T> f32vec4 f32_rgba_cast(T c);               
00103         template <typename T> f32vec4 f32_argb_cast(T c);               
00104         template <typename T> f32vec4 f32_bgra_cast(T c);               
00105         template <typename T> f32vec4 f32_abgr_cast(T c);               
00106 
00107         template <typename T> f64 f64_channel_cast(T a);                
00108 
00109         template <typename T> f64vec3 f64_rgbx_cast(T c);               
00110         template <typename T> f64vec3 f64_xrgb_cast(T c);               
00111         template <typename T> f64vec3 f64_bgrx_cast(T c);               
00112         template <typename T> f64vec3 f64_xbgr_cast(T c);               
00113 
00114         template <typename T> f64vec4 f64_rgba_cast(T c);               
00115         template <typename T> f64vec4 f64_argb_cast(T c);               
00116         template <typename T> f64vec4 f64_bgra_cast(T c);               
00117         template <typename T> f64vec4 f64_abgr_cast(T c);               
00118 
00120 }//namespace glm
00121 
00122 #include "color_cast.inl"
00123 
00124 #endif//GLM_GTX_color_cast