- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

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 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00022 #       pragma message("GLM: GLM_GTX_color_cast extension included")
    00023 #endif
    00024
    00025 namespace glm{
    00026 namespace gtx{
    00027 namespace color_cast
    00028 {
    00029         using namespace gtx::number_precision;
    00030
    00033
    00036         template <typename valType> gtc::type_precision::uint8 u8channel_cast(valType a);
    00037
    00040         template <typename valType>     gtc::type_precision::uint16 u16channel_cast(valType a);
    00041
    00042         template <typename T> gtc::type_precision::uint32 u32_rgbx_cast(const detail::tvec3<T>& c);
    00043         template <typename T> gtc::type_precision::uint32 u32_xrgb_cast(const detail::tvec3<T>& c);
    00044         template <typename T> gtc::type_precision::uint32 u32_bgrx_cast(const detail::tvec3<T>& c);
    00045         template <typename T> gtc::type_precision::uint32 u32_xbgr_cast(const detail::tvec3<T>& c);
    00046
    00047         template <typename T> gtc::type_precision::uint32 u32_rgba_cast(const detail::tvec4<T>& c);
    00048         template <typename T> gtc::type_precision::uint32 u32_argb_cast(const detail::tvec4<T>& c);
    00049         template <typename T> gtc::type_precision::uint32 u32_bgra_cast(const detail::tvec4<T>& c);
    00050         template <typename T> gtc::type_precision::uint32 u32_abgr_cast(const detail::tvec4<T>& c);
    00051
    00052         template <typename T> gtc::type_precision::uint64 u64_rgbx_cast(const detail::tvec3<T>& c);
    00053         template <typename T> gtc::type_precision::uint64 u64_xrgb_cast(const detail::tvec3<T>& c);
    00054         template <typename T> gtc::type_precision::uint64 u64_bgrx_cast(const detail::tvec3<T>& c);
    00055         template <typename T> gtc::type_precision::uint64 u64_xbgr_cast(const detail::tvec3<T>& c);
    00056
    00057         template <typename T> gtc::type_precision::uint64 u64_rgba_cast(const detail::tvec4<T>& c);
    00058         template <typename T> gtc::type_precision::uint64 u64_argb_cast(const detail::tvec4<T>& c);
    00059         template <typename T> gtc::type_precision::uint64 u64_bgra_cast(const detail::tvec4<T>& c);
    00060         template <typename T> gtc::type_precision::uint64 u64_abgr_cast(const detail::tvec4<T>& c);
    00061
    00062         template <typename T> gtx::number_precision::f16vec1 f16_channel_cast(T a);
    00063
    00064         template <typename T> gtc::type_precision::f16vec3 f16_rgbx_cast(T c);
    00065         template <typename T> gtc::type_precision::f16vec3 f16_xrgb_cast(T c);
    00066         template <typename T> gtc::type_precision::f16vec3 f16_bgrx_cast(T c);
    00067         template <typename T> gtc::type_precision::f16vec3 f16_xbgr_cast(T c);
    00068
    00069         template <typename T> gtc::type_precision::f16vec4 f16_rgba_cast(T c);
    00070         template <typename T> gtc::type_precision::f16vec4 f16_argb_cast(T c);
    00071         template <typename T> gtc::type_precision::f16vec4 f16_bgra_cast(T c);
    00072         template <typename T> gtc::type_precision::f16vec4 f16_abgr_cast(T c);
    00073
    00074         template <typename T> gtx::number_precision::f32vec1 f32_channel_cast(T a);
    00075
    00076         template <typename T> gtc::type_precision::f32vec3 f32_rgbx_cast(T c);
    00077         template <typename T> gtc::type_precision::f32vec3 f32_xrgb_cast(T c);
    00078         template <typename T> gtc::type_precision::f32vec3 f32_bgrx_cast(T c);
    00079         template <typename T> gtc::type_precision::f32vec3 f32_xbgr_cast(T c);
    00080
    00081         template <typename T> gtc::type_precision::f32vec4 f32_rgba_cast(T c);
    00082         template <typename T> gtc::type_precision::f32vec4 f32_argb_cast(T c);
    00083         template <typename T> gtc::type_precision::f32vec4 f32_bgra_cast(T c);
    00084         template <typename T> gtc::type_precision::f32vec4 f32_abgr_cast(T c);
    00085
    00086         template <typename T> gtx::number_precision::f64vec1 f64_channel_cast(T a);
    00087
    00088         template <typename T> gtc::type_precision::f64vec3 f64_rgbx_cast(T c);
    00089         template <typename T> gtc::type_precision::f64vec3 f64_xrgb_cast(T c);
    00090         template <typename T> gtc::type_precision::f64vec3 f64_bgrx_cast(T c);
    00091         template <typename T> gtc::type_precision::f64vec3 f64_xbgr_cast(T c);
    00092
    00093         template <typename T> gtc::type_precision::f64vec4 f64_rgba_cast(T c);
    00094         template <typename T> gtc::type_precision::f64vec4 f64_argb_cast(T c);
    00095         template <typename T> gtc::type_precision::f64vec4 f64_bgra_cast(T c);
    00096         template <typename T> gtc::type_precision::f64vec4 f64_abgr_cast(T c);
    00097
    00099 }//namespace color_space
    00100 }//namespace gtx
    00101 }//namespace glm
    00102
    00103 #include "color_cast.inl"
    00104
    00105 namespace glm{using namespace gtx::color_cast;}
    00106
    00107 #endif//glm_gtx_color_cast