]> git.tdb.fi Git - libs/gl.git/blobdiff - source/vertexarray.h
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / vertexarray.h
index 6e54f681717f4269fb135f66bd18420b5d87943e..95a6ec2f3aa526ac11165b4f24e77e5d30d67b10 100644 (file)
@@ -5,7 +5,6 @@
 #include <vector>
 #include <msp/core/refptr.h>
 #include <msp/datafile/loader.h>
-#include "bindable.h"
 #include "bufferable.h"
 #include "datatype.h"
 #include "primitivetype.h"
@@ -18,8 +17,7 @@ namespace GL {
 class Buffer;
 
 /**
-Stores vertex data.  Both legacy and generic attributes are supported.  Mixing
-the two is possible but discouraged, as driver-specific issues may arise.
+Stores vertex data.
 
 The array's contents can be modified with the append and modify methods.  To
 obtain the location of an individual component within the vertex, use
@@ -28,7 +26,7 @@ VertexFormat::offset.
 A higher-level interface for filling in vertex data is available in the
 VertexArrayBuilder class.
 */
-class VertexArray: public Bindable<VertexArray>, public Bufferable
+class VertexArray: public Bufferable
 {
 public:
        class Loader: public DataFile::Loader, public VertexArrayBuilder
@@ -38,36 +36,20 @@ public:
        };
 
 private:
-       struct Array
-       {
-               unsigned char component;
-               unsigned char offset;
-
-               Array();
-       };
-
        VertexFormat format;
        std::vector<float> data;
        unsigned stride;
-       std::vector<Array> arrays;
-       bool legacy;
-
-       static bool legacy_used;
 
        VertexArray(const VertexArray &);
        VertexArray &operator=(const VertexArray &);
 public:
        VertexArray(const VertexFormat &);
-       ~VertexArray();
 
        /// Resets the VertexArray to a different format.  All data is cleared.
        void reset(const VertexFormat &);
 
        const VertexFormat &get_format() const { return format; }
-private:
-       static unsigned get_array_slot(unsigned char);
 
-public:
        /// Clears all vertices from the array.
        void clear();
 
@@ -87,20 +69,6 @@ public:
        unsigned size() const { return data.size()/stride; }
        const std::vector<float> &get_data() const { return data; }
        const float *operator[](unsigned i) const { return &data[0]+i*stride; }
-
-       /** Equivalent to apply(true).  For compatibility with the Bindable
-       interface. */
-       void bind() const { apply(); }
-
-       /** Applies component arrays to the GL.  If legacy is true, they are applied
-       as is.  If legacy is false, any legacy attributes are converted to generic
-       attributes. */
-       void apply(bool legacy = true) const;
-
-private:
-       static void apply_arrays(const std::vector<Array> *, const std::vector<Array> *, const float *, unsigned, bool);
-public:
-       static void unbind();
 };
 
 } // namespace GL