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_ocl_type 00040 #define GLM_GTX_ocl_type GLM_VERSION 00041 00042 // Dependency: 00043 #include "../glm.hpp" 00044 00045 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 00046 # pragma message("GLM: GLM_GTX_ocl_type extension included") 00047 #endif 00048 00049 namespace glm{ 00050 namespace gtx 00051 { 00053 // Scalar types 00054 00057 00058 typedef detail::int8 cl_char; 00059 typedef detail::int16 cl_short; 00060 typedef detail::int32 cl_int; 00061 typedef detail::int64 cl_long; 00062 00063 typedef detail::uint8 cl_uchar; 00064 typedef detail::uint16 cl_ushort; 00065 typedef detail::uint32 cl_uint; 00066 typedef detail::uint64 cl_ulong; 00067 00068 typedef detail::float16 cl_half; 00069 typedef detail::float32 cl_float; 00070 00071 00072 typedef detail::int8 cl_char1; 00073 typedef detail::int16 cl_short1; 00074 typedef detail::int32 cl_int1; 00075 typedef detail::int64 cl_long1; 00076 00077 typedef detail::uint8 cl_uchar1; 00078 typedef detail::uint16 cl_ushort1; 00079 typedef detail::uint32 cl_uint1; 00080 typedef detail::uint64 cl_ulong1; 00081 00082 //typedef detail::float16 cl_half1; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension) 00083 typedef detail::float32 cl_float1; 00084 00085 00086 typedef detail::tvec2<detail::int8> cl_char2; 00087 typedef detail::tvec2<detail::int16> cl_short2; 00088 typedef detail::tvec2<detail::int32> cl_int2; 00089 typedef detail::tvec2<detail::int64> cl_long2; 00090 00091 typedef detail::tvec2<detail::uint8> cl_uchar2; 00092 typedef detail::tvec2<detail::uint16> cl_ushort2; 00093 typedef detail::tvec2<detail::uint32> cl_uint2; 00094 typedef detail::tvec2<detail::uint64> cl_ulong2; 00095 00096 //typedef detail::tvec2<detail::float16> cl_half2; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension) 00097 typedef detail::tvec2<detail::float32> cl_float2; 00098 00099 00100 typedef detail::tvec3<detail::int8> cl_char3; 00101 typedef detail::tvec3<detail::int16> cl_short3; 00102 typedef detail::tvec3<detail::int32> cl_int3; 00103 typedef detail::tvec3<detail::int64> cl_long3; 00104 00105 typedef detail::tvec3<detail::uint8> cl_uchar3; 00106 typedef detail::tvec3<detail::uint16> cl_ushort3; 00107 typedef detail::tvec3<detail::uint32> cl_uint3; 00108 typedef detail::tvec3<detail::uint64> cl_ulong3; 00109 00110 //typedef detail::tvec3<detail::float16> cl_half3; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension) 00111 typedef detail::tvec3<detail::float32> cl_float3; 00112 00113 00114 typedef detail::tvec4<detail::int8> cl_char4; 00115 typedef detail::tvec4<detail::int16> cl_short4; 00116 typedef detail::tvec4<detail::int32> cl_int4; 00117 typedef detail::tvec4<detail::int64> cl_long4; 00118 typedef detail::tvec4<detail::uint8> cl_uchar4; 00119 typedef detail::tvec4<detail::uint16> cl_ushort4; 00120 typedef detail::tvec4<detail::uint32> cl_uint4; 00121 typedef detail::tvec4<detail::uint64> cl_ulong4; 00122 00123 //typedef detail::tvec4<detail::float16> cl_half4; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension) 00124 typedef detail::tvec4<detail::float32> cl_float4; 00125 00127 }//namespace gtx 00128 }//namespace glm 00129 00130 #include "ocl_type.inl" 00131 00132 #endif//GLM_GTX_ocl_type