]> git.tdb.fi Git - libs/gl.git/blobdiff - source/batch.h
Use an explicit material slot name in RenderPass
[libs/gl.git] / source / batch.h
index 3c54089a1a449e07ff91c7f1f09774c4c57c276a..10c61a289e2e5afb71e94c6049126ee4fcbfe877 100644 (file)
@@ -50,11 +50,14 @@ public:
        DataType get_data_type() const { return data_type; }
 
        Batch &append(unsigned);
-       void append(const std::vector<unsigned> &);
-       void append(const Batch &);
+       Batch &append(const std::vector<unsigned> &);
+       bool can_append(PrimitiveType);
+       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(); }
@@ -62,6 +65,8 @@ public:
        unsigned get_index(unsigned) const;
 
        void draw() const;
+private:
+       static void set_restart_index(unsigned);
 };
 
 } // namespace GL