BufferMap buffers;
BufferState *array_buffer;
BufferState *element_buffer;
+ BufferState *uniform_buffer;
+ std::vector<BufferBindingState> uniform_bind_points;
ArrayState vertex_array;
ArrayState normal_array;
ArrayState color_array;
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;
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);
static void glVertexAttribPointer(void *, unsigned, int, GLenum, unsigned char, int, const void *);
static void glBindBuffer(void *, GLenum, unsigned);
+ static void glBindBufferBase(void *, GLenum, unsigned, unsigned);
+ static void glBindBufferRange(void *, GLenum, unsigned, unsigned, int, int);
static void glBufferData(void *, GLenum, int, const void *, GLenum);
static void glBufferSubData(void *, GLenum, int, int, const void *);
static void glDeleteBuffers(void *, int, const unsigned *);