DataType get_data_type() const { return data_type; }
Batch &append(unsigned);
- void append(const std::vector<unsigned> &);
+ Batch &append(const std::vector<unsigned> &);
bool can_append(PrimitiveType);
- void append(const Batch &);
+ Batch &append(const Batch &);
private:
void append_index(unsigned);
virtual unsigned get_data_size() const { return data.size(); }
- virtual void upload_data() const;
+ virtual const void *get_data_pointer() const { return &data[0]; }
+ virtual unsigned get_alignment() const { return get_index_size(); }
unsigned get_index_size() const;
public:
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