X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fvertexsetup.h;h=9e7409ac64b71f3574a32c778964089e21bdf3bf;hp=0155302cd6fb86bad0b99537e87a363ed0588f40;hb=b0059bd068c99dadfc922584911fcb25a21b737b;hpb=f50822b9e73a6ecdacbc4af4c4d9aba435a72386 diff --git a/source/vertexsetup.h b/source/vertexsetup.h index 0155302c..9e7409ac 100644 --- a/source/vertexsetup.h +++ b/source/vertexsetup.h @@ -18,12 +18,14 @@ private: enum ComponentMask { VERTEX_ARRAY = 1, - INDEX_BUFFER = 2 + INSTANCE_ARRAY = 2, + INDEX_BUFFER = 4 }; unsigned id; mutable unsigned dirty; - const VertexArray *array; + const VertexArray *vertex_array; + const VertexArray *inst_array; const Buffer *index_buffer; public: @@ -31,13 +33,15 @@ public: ~VertexSetup(); void set_vertex_array(const VertexArray &); - void set_instance_array(const VertexArray &); + void set_instance_array(const VertexArray *); void set_index_buffer(const Buffer &); + const VertexArray *get_vertex_array() const { return vertex_array; } + const VertexArray *get_instance_array() const { return inst_array; } const Buffer *get_index_buffer() const { return index_buffer; } private: void update(unsigned) const; - void update_vertex_array(bool) const; + void update_vertex_array(const VertexArray &, unsigned, unsigned, bool) const; public: void bind() const;