gl_Cg_uniform.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00033 #ifndef __gl_Cg_uniform__header__
00034 #define __gl_Cg_uniform__header__
00035
00036 #include "gpucalc/uniform.h"
00037
00038 namespace gpucalc
00039 {
00040
00041
00042 const char _GLCgUniformClassName [] = "GLCgUniform";
00043
00044
00048 class _GpuCalcPrivate GLCgUniform: public Uniform
00049 {
00050
00051
00052 OBJ_DISABLE_COPY(GLCgUniform)
00053
00054
00055 friend class GLCgShaderSystem;
00056
00057
00058 public:
00059 GLCgUniform(const std::string & UniformName):
00060 Object(_GLCgUniformClassName, UniformName), Uniform(_GLCgUniformClassName, UniformName), mIsUploadedToGPU(false),
00061 mUniformType(Uniform::UT_NOT_UNIFORM), mPointer(0), mSampler(0), mGLTextureId(0)
00062 {
00063 }
00064
00065
00066 ~GLCgUniform()
00067 {
00068 }
00069
00070
00071 void uploadToGPU()
00072 {
00073 mIsUploadedToGPU = true;
00074 }
00075
00076
00077 bool isUploadedToGPU() const
00078 {
00079 return mIsUploadedToGPU;
00080 }
00081
00082
00083 void initialize()
00084 {
00085
00086 }
00087
00088
00089 bool isInitialized() const
00090 {
00091 return true;
00092 }
00093
00094
00095 Uniform::UniformType getUniformType() const
00096 {
00097 return mUniformType;
00098 }
00099
00100
00101 void * pointer() const
00102 {
00103 return mPointer;
00104 }
00105
00106
00107 Texture * getSampler() const
00108 {
00109 return mSampler;
00110 }
00111
00112
00113 private:
00114 bool mIsUploadedToGPU;
00115
00116
00117 Uniform::UniformType mUniformType;
00118
00119
00120 mutable void * mPointer;
00121
00122
00123 Texture * mSampler;
00124
00125
00126 GLuint mGLTextureId;
00127 };
00128 }
00129
00130
00131 #endif