Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

OpenGLRenderer.h

Go to the documentation of this file.
00001 
00007 #ifndef _OPENGLRENDERER_H_
00008 #define _OPENGLRENDERER_H_
00009 
00010 #include "../Renderer.h"
00011 #include "../../Common/OpenGL/OpenGLext.h"
00012 
00013 class OpenGLRenderer : public Renderer {
00014         public:
00015                 OpenGLRenderer();
00016 
00017                 void init();
00018                 void setDefaults();
00019                 void changeDepthFunc(const int depthFunc);
00020                 void changeBlending(const int src, const int dest, const int blendMode);
00021                 void changeMask(const int mask);
00022 
00023                 void changeTextureUnit(const int tex);
00024                 void changeTexture(const TextureID textureID);
00025                 void assignNamedTextures();
00026 
00027                 void changeShader(const ShaderID shader);
00028                 void changeShaderConstant1f(const char *name, const float constant);
00029                 void changeShaderConstant2f(const char *name, const Vec2 &constant);
00030                 void changeShaderConstant3f(const char *name, const Vec3 &constant);
00031                 void changeShaderConstant4f(const char *name, const Vec4 &constant);
00032 
00033                 void changeFragmentShader(const ShaderID shader);
00034                 void changeVertexShader(const ShaderID shader);
00035 
00036         protected:
00037                 bool createTexture(Texture &texture);
00038                 void removeTexture(Texture &texture);
00039 
00040                 bool createShader(Shader &shader, const char *vertexShaderText, const char *fragmentShaderText);
00041                 void removeShader(Shader &shader);
00042 
00043                 void createFragmentShader(FragmentShader &fragmentShader);
00044                 void removeFragmentShader(FragmentShader &fragmentShader);
00045                 void uploadFragmentShader(FragmentShader &fragmentShader);
00046 
00047                 void createVertexShader(VertexShader &vertexShader);
00048                 void removeVertexShader(VertexShader &vertexShader);
00049                 void uploadVertexShader(VertexShader &vertexShader);
00050 
00051                 static GLenum targets[];
00052 };
00053 
00054 #endif

Generated on Sun Jun 5 15:47:05 2005 for Defacto by  doxygen 1.4.3