*/
class Batch: public Bufferable
{
+ friend class Commands;
+
public:
class Loader: public DataFile::ObjectLoader<Batch>
{
private:
PrimitiveType prim_type;
+ unsigned gl_prim_type;
DataType index_type;
- GLenum gl_index_type;
- std::vector<UInt8> data;
+ unsigned gl_index_type;
+ std::vector<std::uint8_t> data;
unsigned max_index;
- bool restart;
-
- static unsigned restart_index;
public:
Batch(PrimitiveType t);
void set_index_type(DataType);
DataType get_index_type() const { return 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> &);
bool can_append(PrimitiveType);
unsigned size() const { return data.size()/get_index_size(); }
unsigned get_index(unsigned) const;
-
- void draw() const;
- void draw_instanced(unsigned) const;
-private:
- const void *setup_draw() const;
- static void set_restart_index(unsigned);
};
} // namespace GL