]> git.tdb.fi Git - libs/gl.git/blobdiff - source/batch.h
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / batch.h
index 0ce4ecf14e41f9214023f0c631081edf230e13e5..2e4ad9ef3005d9d01c15dbdc4d119ce79f570460 100644 (file)
@@ -33,9 +33,8 @@ public:
 
 private:
        PrimitiveType prim_type;
-       DataType data_type;
-       std::vector<unsigned char> data;
-       unsigned min_index;
+       DataType index_type;
+       std::vector<UInt8> data;
        unsigned max_index;
        bool restart;
 
@@ -46,17 +45,21 @@ public:
        ~Batch();
 
        PrimitiveType get_type() const { return prim_type; }
-       void set_data_type(DataType);
-       DataType get_data_type() const { return data_type; }
+       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);
-       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 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(); }
@@ -64,6 +67,10 @@ public:
        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