13 #ifndef OGLPLUS_PROG_VAR_TYPE_OPS_1405052234_HPP
14 #define OGLPLUS_PROG_VAR_TYPE_OPS_1405052234_HPP
19 #include <oglplus/detail/glsl_to_cpp.hpp>
24 template <oglplus::SLDataType>
33 inline static BaseType Adjust(ValueType value)
40 struct AdjustProgVar<void>
42 typedef void BaseType;
46 struct AdjustProgVar<bool>
48 typedef GLboolean BaseType;
49 typedef bool ValueType;
51 inline static BaseType Adjust(ValueType value)
53 return value?GL_TRUE:GL_FALSE;
57 template <std::
size_t N>
58 struct AdjustProgVar<oglplus::Vector<bool, N> >
63 inline static BaseType Adjust(ValueType value)
65 return BaseType(value);
69 template <oglplus::SLDataType SLType>
70 struct AdjustProgVar<SLtoCpp<SLType> >
72 typedef typename aux::GLSL2Cpp<SLType>::Type BaseType;
73 typedef BaseType ValueType;
75 inline static BaseType Adjust(ValueType value)
82 class ProgVarTypeOps<tag::Uniform>
85 static GLenum GetType(ProgramName, GLint location,
StrCRef identifier);
90 #endif // include guard
String const reference wrapper template.
Definition: ref_tpl.hpp:72
Base class for OpenGL "named" objects.
Basic template for vector types.
Definition: fwd.hpp:43