#include <vector>
#include <msp/datafile/objectloader.h>
+#include "batch_backend.h"
#include "bufferable.h"
#include "datatype.h"
#include "primitivetype.h"
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<Batch>
private:
PrimitiveType prim_type;
- GLenum gl_prim_type;
DataType index_type;
- GLenum gl_index_type;
- std::vector<UInt8> data;
+ std::vector<std::uint8_t> data;
unsigned max_index;
- bool restart;
-
- static unsigned restart_index;
public:
Batch(PrimitiveType t);
~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<unsigned> &);