~GlState();
int decode(const char *, unsigned);
- const Vector4 &get_color() const { return color; }
- const Vector4 &get_texcoord(unsigned i) const { return texcoord[i]; }
- const Vector3 &get_normal() const { return normal; }
- const TextureMap &get_textures() const { return textures; }
- const TextureState &get_texture(unsigned) const;
- const TexUnitState &get_texture_unit(unsigned i) const { return texunits[i]; }
- const BufferMap &get_buffers() const { return buffers; }
- const BufferState &get_buffer(unsigned) const;
- const BufferState *get_current_buffer(GLenum) const;
- const BufferBindingState &get_buffer_binding(GLenum, unsigned) const;
- const ArrayState &get_array(GLenum) const;
- const ArrayState &get_texture_coord_array(unsigned) const;
- const ArrayState &get_attrib_array(unsigned) const;
- const ShaderMap &get_shaders() const { return shaders; }
- const ShaderState &get_shader(unsigned) const;
- const ProgramMap &get_programs() const { return programs; }
- const ProgramState &get_program(unsigned) const;
+
private:
bool &get_boolean_state(GLenum);
- TextureState *get_current_texture(GLenum);
- BufferState *get_buffer_object(unsigned);
- BufferState *get_current_buffer(GLenum);
- BufferBindingState *get_buffer_binding(GLenum, unsigned);
- void set_current_texture(GLenum, unsigned);
- void set_current_buffer(GLenum, unsigned);
- ArrayState &get_attrib_array(unsigned);
- ShaderState *get_shader(unsigned, bool);
- void delete_shader(unsigned);
- ProgramState *get_program(unsigned, bool);
- void delete_program(unsigned);
-
static void glEnableClientState(void *, GLenum);
static void glDisableClientState(void *, GLenum);
- static void glEnableVertexAttribArray(void *, unsigned);
- static void glDisableVertexAttribArray(void *, unsigned);
static void glColor3f(void *, float, float, float);
static void glColor4f(void *, float, float, float, float);
static void glTexCoord4f(void *, float, float, float, float);
static void glMultiTexCoord4f(void *, unsigned, float, float, float, float);
- static void glActiveTexture(void *, unsigned);
- static void glBindTexture(void *, GLenum, unsigned);
- static void glTexImage2D(void *, GLenum, int, int, int, int, int, GLenum, GLenum, const void *);
- static void glTexParameteri(void *, GLenum, GLenum, int);
- static void glTexParameteriv(void *, GLenum, GLenum, const int *);
- static void glDeleteTextures(void *, int, const unsigned *);
+public:
+ const Vector4 &get_color() const { return color; }
+ const Vector4 &get_texcoord(unsigned i) const { return texcoord[i]; }
+ const Vector3 &get_normal() const { return normal; }
+
+private:
+ ArrayState &get_attrib_array(unsigned);
static void glVertexPointer(void *, int, GLenum, int, const void *);
static void glNormalPointer(void *, GLenum, int, const void *);
static void glColorPointer(void *, int, GLenum, int, const void *);
static void glClientActiveTexture(void *, unsigned);
static void glTexCoordPointer(void *, int, GLenum, int, const void *);
+ static void glEnableVertexAttribArray(void *, unsigned);
+ static void glDisableVertexAttribArray(void *, unsigned);
static void glVertexAttribPointer(void *, unsigned, int, GLenum, unsigned char, int, const void *);
+public:
+ const ArrayState &get_array(GLenum) const;
+ const ArrayState &get_texture_coord_array(unsigned) const;
+ const ArrayState &get_attrib_array(unsigned) const;
+
+private:
+ static void glDrawElements(void *, GLenum, int, GLenum, const void *);
+ static void glDrawRangeElements(void *, GLenum, unsigned, unsigned, int, GLenum, const void *);
+
+ void set_current_buffer(GLenum, unsigned);
+ BufferState *get_buffer_object(unsigned);
+ BufferState *get_current_buffer(GLenum);
+ BufferBindingState *get_buffer_binding(GLenum, unsigned);
+
static void glBindBuffer(void *, GLenum, unsigned);
static void glBindBufferBase(void *, GLenum, unsigned, unsigned);
static void glBindBufferRange(void *, GLenum, unsigned, unsigned, int, int);
static void glBufferSubData(void *, GLenum, int, int, const void *);
static void glDeleteBuffers(void *, int, const unsigned *);
- static void glDrawElements(void *, GLenum, int, GLenum, const void *);
- static void glDrawRangeElements(void *, GLenum, unsigned, unsigned, int, GLenum, const void *);
+public:
+ const BufferMap &get_buffers() const { return buffers; }
+ const BufferState &get_buffer(unsigned) const;
+ const BufferState *get_current_buffer(GLenum) const;
+ const BufferBindingState &get_buffer_binding(GLenum, unsigned) const;
+
+private:
+ void set_current_texture(GLenum, unsigned);
+ TextureState *get_current_texture(GLenum);
+
+ static void glActiveTexture(void *, unsigned);
+ static void glBindTexture(void *, GLenum, unsigned);
+ static void glTexImage2D(void *, GLenum, int, int, int, int, int, GLenum, GLenum, const void *);
+ static void glTexParameteri(void *, GLenum, GLenum, int);
+ static void glTexParameteriv(void *, GLenum, GLenum, const int *);
+ static void glDeleteTextures(void *, int, const unsigned *);
+
+public:
+ const TextureMap &get_textures() const { return textures; }
+ const TextureState &get_texture(unsigned) const;
+ const TexUnitState &get_texture_unit(unsigned i) const { return texunits[i]; }
+
+private:
+ ShaderState *get_shader(unsigned, bool);
+ void delete_shader(unsigned);
+ ProgramState *get_program(unsigned, bool);
+ void delete_program(unsigned);
static void glCreateShader(void *, unsigned, GLenum);
static void glShaderSource(void *, unsigned, int, const char **, const int *);
static void glDeleteObjectARB(void *, unsigned);
static void glGetObjectParameterivARB(void *, unsigned, GLenum, int *);
static void glGetInfoLogARB(void *, unsigned, int, int *, char *);
+
+public:
+ const ShaderMap &get_shaders() const { return shaders; }
+ const ShaderState &get_shader(unsigned) const;
+ const ProgramMap &get_programs() const { return programs; }
+ const ProgramState &get_program(unsigned) const;
};
#endif