X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fbatch.h;h=1e0b4c4703e74b09602575b6f3fa206bfc746bdf;hb=be6ffe96ecb4707599fe1a6f620c348760213d46;hp=f551a5e9fb0952049018d3984beb29835f8fcaf1;hpb=bea2bcf1aa353b1dd8d1728931ef0508677bd2c6;p=libs%2Fgl.git diff --git a/source/core/batch.h b/source/core/batch.h index f551a5e9..1e0b4c47 100644 --- a/source/core/batch.h +++ b/source/core/batch.h @@ -3,6 +3,7 @@ #include #include +#include "batch_backend.h" #include "bufferable.h" #include "datatype.h" #include "primitivetype.h" @@ -20,7 +21,7 @@ the Batch. This is a pretty low-level class and mainly intended to be used by the Mesh class. */ -class Batch: public Bufferable +class Batch: public BatchBackend, public Bufferable { public: class Loader: public DataFile::ObjectLoader @@ -33,10 +34,8 @@ public: private: PrimitiveType prim_type; - GLenum gl_prim_type; DataType index_type; - GLenum gl_index_type; - std::vector data; + std::vector data; unsigned max_index; public: @@ -44,13 +43,8 @@ public: ~Batch(); PrimitiveType get_type() const { return prim_type; } - GLenum get_gl_primitive_type() const { return gl_prim_type; } void set_index_type(DataType); DataType get_index_type() const { return index_type; } - GLenum get_gl_index_type() const { return gl_index_type; } - - DEPRECATED void set_data_type(DataType t) { set_index_type(t); } - DEPRECATED DataType get_data_type() const { return index_type; } Batch &append(unsigned); Batch &append(const std::vector &); @@ -58,14 +52,14 @@ public: Batch &append(const Batch &); private: void append_index(unsigned); - virtual unsigned get_data_size() const { return data.size(); } + virtual std::size_t get_data_size() const { return data.size(); } virtual const void *get_data_pointer() const { return &data[0]; } - virtual unsigned get_alignment() const { return get_index_size(); } - unsigned get_index_size() const; + virtual std::size_t get_alignment() const { return get_index_size(); } + std::size_t get_index_size() const; public: - unsigned size() const { return data.size()/get_index_size(); } + std::size_t size() const { return data.size()/get_index_size(); } - unsigned get_index(unsigned) const; + unsigned get_index(std::size_t) const; }; } // namespace GL