00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SGE_RENDERER_GLSL_UNIFORM_VARIABLE_HPP_INCLUDED
00022 #define SGE_RENDERER_GLSL_UNIFORM_VARIABLE_HPP_INCLUDED
00023
00024 #include "../../su.hpp"
00025 #include "../../shared_ptr.hpp"
00026 #include "../../math/vector.hpp"
00027 #include "../../math/matrix.hpp"
00028
00029 namespace sge
00030 {
00031 namespace renderer
00032 {
00033 namespace glsl
00034 {
00035
00036 class uniform_variable {
00037 public:
00038 virtual void set(space_unit) = 0;
00039 virtual void set(const math::vector2&) = 0;
00040 virtual void set(const math::vector3&) = 0;
00041 virtual void set(const math::vector4&) = 0;
00042
00043 virtual void set(const math::space_matrix&) = 0;
00044
00045 virtual ~uniform_variable() {}
00046 };
00047
00048 typedef shared_ptr<uniform_variable> uniform_variable_ptr;
00049
00050 }
00051 }
00052 }
00053
00054 #endif