# GLM: color_cast.hpp Source File

- Main Page
- Namespaces
- Files

- File List

# color_cast.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2009 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 #define GLM_GTX_color_cast              namespace gtx::color_cast
    00101 #ifndef GLM_GTX_GLOBAL
    00102 namespace glm {using GLM_GTX_color_cast;}
    00103 #endif//GLM_GTC_GLOBAL
    00104
    00105 #include "color_cast.inl"
    00106
    00107 #endif//glm_gtx_color_cast