#include <vector>
#include "programdata.h"
#include "renderable.h"
+#include "vertexarray.h"
+#include "vertexsetup.h"
namespace Msp {
namespace GL {
class Buffer;
class Object;
class ObjectInstance;
-class VertexArray;
-class VertexSetup;
/**
Renders multiple instances of an Object in an efficient manner. If instanced
private:
const Object &object;
std::vector<ObjectInstance *> instances;
- VertexArray *instance_data;
- Buffer *instance_buffer;
- VertexSetup *vtx_setup;
- int matrix_location;
- unsigned matrix_offset;
+ VertexArray instance_data;
+ Buffer *instance_buffer = 0;
+ VertexSetup vtx_setup;
+ int matrix_location = -1;
+ unsigned matrix_offset = 0;
public:
InstanceArray(const Object &);