GLM Version 0.9.0

color_cast.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2007-06-21
00005 // Updated : 2009-06-05
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/color_cast.hpp
00009 // Dependency:
00010 // - GLM core
00011 // - GLM_GTX_number_precision
00013 
00014 #ifndef glm_gtx_color_cast
00015 #define glm_gtx_color_cast
00016 
00017 // Dependency:
00018 #include "../glm.hpp"
00019 #include "../gtx/number_precision.hpp"
00020 
00021 namespace glm
00022 {
00023         namespace test{
00024                 void main_ext_gtx_color_cast();
00025         }//namespace test
00026 
00027         namespace gtx{
00029         namespace color_cast
00030         {
00031                 using namespace gtx::number_precision;
00032 
00035                 template <typename valType> gtc::type_precision::uint8 u8channel_cast(valType a);
00036 
00039                 template <typename valType>     gtc::type_precision::uint16 u16channel_cast(valType a);
00040 
00041                 template <typename T> gtc::type_precision::uint32 u32_rgbx_cast(const detail::tvec3<T>& c);             
00042                 template <typename T> gtc::type_precision::uint32 u32_xrgb_cast(const detail::tvec3<T>& c);             
00043                 template <typename T> gtc::type_precision::uint32 u32_bgrx_cast(const detail::tvec3<T>& c);             
00044                 template <typename T> gtc::type_precision::uint32 u32_xbgr_cast(const detail::tvec3<T>& c);             
00045 
00046                 template <typename T> gtc::type_precision::uint32 u32_rgba_cast(const detail::tvec4<T>& c);             
00047                 template <typename T> gtc::type_precision::uint32 u32_argb_cast(const detail::tvec4<T>& c);             
00048                 template <typename T> gtc::type_precision::uint32 u32_bgra_cast(const detail::tvec4<T>& c);             
00049                 template <typename T> gtc::type_precision::uint32 u32_abgr_cast(const detail::tvec4<T>& c);             
00050 
00051                 template <typename T> gtc::type_precision::uint64 u64_rgbx_cast(const detail::tvec3<T>& c);             
00052                 template <typename T> gtc::type_precision::uint64 u64_xrgb_cast(const detail::tvec3<T>& c);             
00053                 template <typename T> gtc::type_precision::uint64 u64_bgrx_cast(const detail::tvec3<T>& c);             
00054                 template <typename T> gtc::type_precision::uint64 u64_xbgr_cast(const detail::tvec3<T>& c);             
00055 
00056                 template <typename T> gtc::type_precision::uint64 u64_rgba_cast(const detail::tvec4<T>& c);             
00057                 template <typename T> gtc::type_precision::uint64 u64_argb_cast(const detail::tvec4<T>& c);             
00058                 template <typename T> gtc::type_precision::uint64 u64_bgra_cast(const detail::tvec4<T>& c);             
00059                 template <typename T> gtc::type_precision::uint64 u64_abgr_cast(const detail::tvec4<T>& c);             
00060 
00061                 template <typename T> gtx::number_precision::f16vec1 f16_channel_cast(T a);     
00062 
00063                 template <typename T> gtc::type_precision::f16vec3 f16_rgbx_cast(T c);          
00064                 template <typename T> gtc::type_precision::f16vec3 f16_xrgb_cast(T c);          
00065                 template <typename T> gtc::type_precision::f16vec3 f16_bgrx_cast(T c);          
00066                 template <typename T> gtc::type_precision::f16vec3 f16_xbgr_cast(T c);          
00067 
00068                 template <typename T> gtc::type_precision::f16vec4 f16_rgba_cast(T c);          
00069                 template <typename T> gtc::type_precision::f16vec4 f16_argb_cast(T c);          
00070                 template <typename T> gtc::type_precision::f16vec4 f16_bgra_cast(T c);          
00071                 template <typename T> gtc::type_precision::f16vec4 f16_abgr_cast(T c);          
00072 
00073                 template <typename T> gtx::number_precision::f32vec1 f32_channel_cast(T a);     
00074 
00075                 template <typename T> gtc::type_precision::f32vec3 f32_rgbx_cast(T c);          
00076                 template <typename T> gtc::type_precision::f32vec3 f32_xrgb_cast(T c);          
00077                 template <typename T> gtc::type_precision::f32vec3 f32_bgrx_cast(T c);          
00078                 template <typename T> gtc::type_precision::f32vec3 f32_xbgr_cast(T c);          
00079 
00080                 template <typename T> gtc::type_precision::f32vec4 f32_rgba_cast(T c);          
00081                 template <typename T> gtc::type_precision::f32vec4 f32_argb_cast(T c);          
00082                 template <typename T> gtc::type_precision::f32vec4 f32_bgra_cast(T c);          
00083                 template <typename T> gtc::type_precision::f32vec4 f32_abgr_cast(T c);          
00084 
00085                 template <typename T> gtx::number_precision::f64vec1 f64_channel_cast(T a);     
00086 
00087                 template <typename T> gtc::type_precision::f64vec3 f64_rgbx_cast(T c);          
00088                 template <typename T> gtc::type_precision::f64vec3 f64_xrgb_cast(T c);          
00089                 template <typename T> gtc::type_precision::f64vec3 f64_bgrx_cast(T c);          
00090                 template <typename T> gtc::type_precision::f64vec3 f64_xbgr_cast(T c);          
00091 
00092                 template <typename T> gtc::type_precision::f64vec4 f64_rgba_cast(T c);          
00093                 template <typename T> gtc::type_precision::f64vec4 f64_argb_cast(T c);          
00094                 template <typename T> gtc::type_precision::f64vec4 f64_bgra_cast(T c);          
00095                 template <typename T> gtc::type_precision::f64vec4 f64_abgr_cast(T c);          
00096         }//namespace color_space
00097         }//namespace gtx
00098 }//namespace glm
00099 
00100 #include "color_cast.inl"
00101 
00102 namespace glm{using namespace gtx::color_cast;}
00103 
00104 #endif//glm_gtx_color_cast