00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VRS_OPENGL_GL2_INSTANCEDATTRIBUTEDSHAPE_H
00018 #define VRS_OPENGL_GL2_INSTANCEDATTRIBUTEDSHAPE_H
00019
00020
00021
00022
00023 #include <vrs/opengl/gl2/attributedshape.h>
00024
00025 namespace VRS
00026 {
00027 namespace GL2
00028 {
00029 class VRS_CORE_API InstancedAttributedShape : public AttributedShape
00030 {
00031 public:
00032
00033 InstancedAttributedShape(
00034 unsigned int instances = 1,
00035 GLenum primitiveType = GL_TRIANGLES,
00036 const Bounds& bbox = Bounds(),
00037 SO<BaseVertexAttributeBufferObjectGL> indices = NULL,
00038 const ID& id01 = ID(), SO<BaseVertexAttributeBufferObjectGL> data01 = NULL, bool normalized01 = false,
00039 const ID& id02 = ID(), SO<BaseVertexAttributeBufferObjectGL> data02 = NULL, bool normalized02 = false,
00040 const ID& id03 = ID(), SO<BaseVertexAttributeBufferObjectGL> data03 = NULL, bool normalized03 = false,
00041 const ID& id04 = ID(), SO<BaseVertexAttributeBufferObjectGL> data04 = NULL, bool normalized04 = false,
00042 const ID& id05 = ID(), SO<BaseVertexAttributeBufferObjectGL> data05 = NULL, bool normalized05 = false,
00043 const ID& id06 = ID(), SO<BaseVertexAttributeBufferObjectGL> data06 = NULL, bool normalized06 = false,
00044 const ID& id07 = ID(), SO<BaseVertexAttributeBufferObjectGL> data07 = NULL, bool normalized07 = false,
00045 const ID& id08 = ID(), SO<BaseVertexAttributeBufferObjectGL> data08 = NULL, bool normalized08 = false,
00046 const ID& id09 = ID(), SO<BaseVertexAttributeBufferObjectGL> data09 = NULL, bool normalized09 = false,
00047 const ID& id10 = ID(), SO<BaseVertexAttributeBufferObjectGL> data10 = NULL, bool normalized10 = false,
00048 const ID& id11 = ID(), SO<BaseVertexAttributeBufferObjectGL> data11 = NULL, bool normalized11 = false,
00049 const ID& id12 = ID(), SO<BaseVertexAttributeBufferObjectGL> data12 = NULL, bool normalized12 = false,
00050 const ID& id13 = ID(), SO<BaseVertexAttributeBufferObjectGL> data13 = NULL, bool normalized13 = false,
00051 const ID& id14 = ID(), SO<BaseVertexAttributeBufferObjectGL> data14 = NULL, bool normalized14 = false,
00052 const ID& id15 = ID(), SO<BaseVertexAttributeBufferObjectGL> data15 = NULL, bool normalized15 = false,
00053 const ID& id16 = ID(), SO<BaseVertexAttributeBufferObjectGL> data16 = NULL, bool normalized16 = false
00054 );
00055
00056 void setInstances(unsigned int instances);
00057 inline unsigned int getInstances(void) const
00058 {
00059 return this->instances_;
00060 }
00061
00062 VRS_TYPEINFO(InstancedAttributedShape, AttributedShape);
00063 VRS_SERIALIZABLE(InstancedAttributedShape);
00064
00065 private:
00066
00067 unsigned int instances_;
00068
00069 };
00070
00071 };
00072
00073 };
00074
00075 #endif // VRS_OPENGL_GL2_INSTANCEDATTRIBUTEDSHAPE_H