3 This file is part of libmspgl
4 Copyright © 2007 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
8 #ifndef MSP_GL_VERTEXARRAY_H_
9 #define MSP_GL_VERTEXARRAY_H_
12 #include <msp/core/refptr.h>
13 #include <msp/datafile/loader.h>
15 #include "vertexarraybuilder.h"
16 #include "vertexformat.h"
26 class Loader: public DataFile::Loader, public VertexArrayBuilder
29 Loader(VertexArray &);
32 VertexArray(VertexFormat);
35 VertexFormat get_format() const { return format; }
36 const std::vector<float> &get_data() const { return data; }
37 void use_vertex_buffer();
38 void use_vertex_buffer(VertexBuffer *);
40 void reset(VertexFormat);
41 RefPtr<VertexArrayBuilder> modify();
46 std::vector<float> data;
51 VertexArray(const VertexArray &);
52 VertexArray &operator=(const VertexArray &);
53 void set_array(unsigned, unsigned, unsigned) const;
55 static unsigned enabled_arrays;