X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fvertexsetup.h;h=3b18006af04918661150d285ea6563664db51b32;hb=d40673bd28c4b4524d3642b949d9d109dc6f9f24;hp=06422a08c006b7953136a17ed4cbe218350d04ae;hpb=fcde8390ad577fe434dcd4b29e0f410d29f867c9;p=libs%2Fgl.git diff --git a/source/core/vertexsetup.h b/source/core/vertexsetup.h index 06422a08..3b18006a 100644 --- a/source/core/vertexsetup.h +++ b/source/core/vertexsetup.h @@ -20,9 +20,7 @@ private: { VERTEX_ARRAY = 1, INSTANCE_ARRAY = 2, - INDEX_BUFFER = 4, - UNUSED_ATTRIBS = 8, - ATTRIB_SHIFT = 4 + INDEX_BUFFER = 4 }; unsigned id; @@ -37,18 +35,18 @@ public: VertexSetup(); ~VertexSetup(); + void set_format(const VertexFormat &); + void set_format_instanced(const VertexFormat &, const VertexFormat &); + void set_vertex_array(const VertexArray &); - void set_instance_array(const VertexArray *); + void set_instance_array(const VertexArray &); void set_index_buffer(const Buffer &); - void refresh(); 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: - static bool verify_array(const VertexArray &); - static unsigned get_attribs(const VertexFormat &); - static unsigned get_update_mask(unsigned, const VertexFormat &, const VertexArray &); + static bool verify_format(const VertexFormat &); void update(unsigned) const; void update_vertex_array(const VertexArray &, unsigned, unsigned, bool) const; @@ -56,6 +54,8 @@ public: void bind() const; static void unbind(); + void unload(); + void set_debug_name(const std::string &); };