X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvertexarray.h;h=9fa55b7117c32fdc2901c74215223b6616f9fa53;hb=67538c60b8baa6816b8ae2d343ae62d881e6c58d;hp=fb8f51b026d82e40c2ef4dd70da31f2f3c66027f;hpb=cfd7b5bc0c69d0b8cc7c8b3ec81a1a9462d04abb;p=libs%2Fgl.git diff --git a/source/vertexarray.h b/source/vertexarray.h index fb8f51b0..9fa55b71 100644 --- a/source/vertexarray.h +++ b/source/vertexarray.h @@ -39,7 +39,6 @@ private: std::vector data; unsigned stride; std::vector arrays; - mutable bool dirty; VertexArray(const VertexArray &); VertexArray &operator=(const VertexArray &); @@ -62,16 +61,19 @@ public: float *modify(unsigned); private: virtual unsigned get_data_size() const; - virtual void upload_data() const; + virtual const void *get_data_pointer() const { return &data[0]; } public: unsigned size() const { return data.size()/stride; } const std::vector &get_data() const { return data; } const float *operator[](unsigned i) const { return &data[0]+i*stride; } - void apply() const; + void bind() const; + void apply() const { bind(); } private: static void apply_arrays(const std::vector *, const std::vector *, const float *, unsigned); +public: + static void unbind(); }; } // namespace GL