14#ifndef OSG_PRIMITIVESET
15#define OSG_PRIMITIVESET 1
32#define OSG_HAS_MULTIDRAWARRAYS
90 virtual void drawArrays(GLenum mode,GLint first,GLsizei count) = 0;
93 virtual void drawElements(GLenum mode,GLsizei count,
const GLubyte* indices) = 0;
96 virtual void drawElements(GLenum mode,GLsizei count,
const GLushort* indices) = 0;
99 virtual void drawElements(GLenum mode,GLsizei count,
const GLuint* indices) = 0;
116 virtual void drawArrays(GLenum mode,GLint first,GLsizei count) = 0;
117 virtual void drawElements(GLenum mode,GLsizei count,
const GLubyte* indices) = 0;
118 virtual void drawElements(GLenum mode,GLsizei count,
const GLushort* indices) = 0;
119 virtual void drawElements(GLenum mode,GLsizei count,
const GLuint* indices) = 0;
179 virtual const char*
className()
const {
return "PrimitiveSet"; }
199 virtual void draw(
State& state,
bool useVertexBufferObjects)
const = 0;
204 virtual unsigned int index(
unsigned int pos)
const = 0;
230 DrawArrays(GLenum mode, GLint first, GLsizei count,
int numInstances=0):
244 virtual const char*
className()
const {
return "DrawArrays"; }
247 void set(GLenum mode,GLint first, GLsizei count)
260 virtual void draw(
State& state,
bool useVertexBufferObjects)
const;
266 virtual unsigned int index(
unsigned int pos)
const {
return static_cast<unsigned int>(
_first)+pos; }
312 virtual const char*
className()
const {
return "DrawArrayLengths"; }
318 virtual void draw(
State& state,
bool useVertexBufferObjects)
const;
324 virtual unsigned int index(
unsigned int pos)
const {
return _first+pos; }
406 virtual const char*
className()
const {
return "DrawElementsUByte"; }
412 virtual void draw(
State& state,
bool useVertexBufferObjects)
const ;
418 virtual unsigned int index(
unsigned int pos)
const {
return (*
this)[pos]; }
424 virtual void setElement(
unsigned int i,
unsigned int v) { (*this)[i] = v; }
425 virtual unsigned int getElement(
unsigned int i) {
return (*
this)[i]; }
465 template <
class InputIterator>
474 virtual const char*
className()
const {
return "DrawElementsUShort"; }
480 virtual void draw(
State& state,
bool useVertexBufferObjects)
const;
486 virtual unsigned int index(
unsigned int pos)
const {
return (*
this)[pos]; }
492 virtual void setElement(
unsigned int i,
unsigned int v) { (*this)[i] = v; }
493 virtual unsigned int getElement(
unsigned int i) {
return (*
this)[i]; }
532 template <
class InputIterator>
541 virtual const char*
className()
const {
return "DrawElementsUInt"; }
547 virtual void draw(
State& state,
bool useVertexBufferObjects)
const;
553 virtual unsigned int index(
unsigned int pos)
const {
return (*
this)[pos]; }
559 virtual void setElement(
unsigned int i,
unsigned int v) { (*this)[i] = v; }
560 virtual unsigned int getElement(
unsigned int i) {
return (*
this)[i]; }
568#ifdef OSG_HAS_MULTIDRAWARRAYS
585 virtual const char*
className()
const {
return "MultiDrawArrays"; }
594 virtual unsigned int index(
unsigned int pos)
const;
609 void add(GLint first, GLsizei count);
#define GL_LINES_ADJACENCY
Definition GLDefines:208
#define GL_TRIANGLE_STRIP_ADJACENCY
Definition GLDefines:211
#define GL_TRIANGLES_ADJACENCY
Definition GLDefines:210
#define GL_LINE_STRIP_ADJACENCY
Definition GLDefines:209
#define GL_PATCHES
Definition GLDefines:221
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
Vec2f Vec2
Definition Vec2:21
Vec3f Vec3
Definition Vec3:21
MixinVector< GLsizei > VectorGLsizei
Definition PrimitiveSet:36
MixinVector< GLuint > VectorGLuint
Definition PrimitiveSet:39
MixinVector< GLushort > VectorGLushort
Definition PrimitiveSet:38
Vec4f Vec4
Definition Vec4:21
MixinVector< GLubyte > VectorGLubyte
Definition PrimitiveSet:37
BufferData()
Definition BufferObject:498
osg::ref_ptr< BufferObject > _bufferObject
Definition BufferObject:590
void setBufferObject(BufferObject *bufferObject)
Definition BufferObject:622
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
MixinVector is a base class that allows inheritance to be used to easily emulate derivation from std:...
Definition MixinVector:29
size_type size() const
Definition MixinVector:92
void resize(size_type new_size, const value_type &fill_value=value_type())
Definition MixinVector:85
const_reference front() const
Definition MixinVector:138
void reserve(size_type new_capacity)
Definition MixinVector:86
void push_back(const value_type &value)
Definition MixinVector:117
bool empty() const
Definition MixinVector:91
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
A PrimitiveFunctor is used (in conjunction with osg::Drawable::accept (PrimitiveFunctor&)) to get acc...
Definition PrimitiveSet:54
virtual void setVertexArray(unsigned int count, const Vec3d *vertices)=0
Sets the array of vertices used to describe the primitives.
virtual void drawArrays(GLenum mode, GLint first, GLsizei count)=0
Mimics the OpenGL glDrawArrays() function.
virtual void drawElements(GLenum mode, GLsizei count, const GLuint *indices)=0
Mimics the OpenGL glDrawElements() function.
virtual void drawElements(GLenum mode, GLsizei count, const GLubyte *indices)=0
Mimics the OpenGL glDrawElements() function.
virtual void setVertexArray(unsigned int count, const Vec2d *vertices)=0
Sets the array of vertices used to describe the primitives.
virtual void drawElements(GLenum mode, GLsizei count, const GLushort *indices)=0
Mimics the OpenGL glDrawElements() function.
virtual ~PrimitiveFunctor()
Definition PrimitiveSet:57
virtual void setVertexArray(unsigned int count, const Vec2 *vertices)=0
Sets the array of vertices used to describe the primitives.
virtual void setVertexArray(unsigned int count, const Vec3 *vertices)=0
Sets the array of vertices used to describe the primitives.
virtual void setVertexArray(unsigned int count, const Vec4 *vertices)=0
Sets the array of vertices used to describe the primitives.
virtual void setVertexArray(unsigned int count, const Vec4d *vertices)=0
Sets the array of vertices used to describe the primitives.
Definition PrimitiveSet:103
virtual void setVertexArray(unsigned int count, const Vec4d *vertices)=0
virtual void setVertexArray(unsigned int count, const Vec3d *vertices)=0
virtual ~PrimitiveIndexFunctor()
Definition PrimitiveSet:106
virtual void setVertexArray(unsigned int count, const Vec3 *vertices)=0
virtual void drawArrays(GLenum mode, GLint first, GLsizei count)=0
virtual void drawElements(GLenum mode, GLsizei count, const GLushort *indices)=0
virtual void drawElements(GLenum mode, GLsizei count, const GLubyte *indices)=0
virtual void drawElements(GLenum mode, GLsizei count, const GLuint *indices)=0
virtual void setVertexArray(unsigned int count, const Vec2d *vertices)=0
virtual void setVertexArray(unsigned int count, const Vec4 *vertices)=0
virtual void setVertexArray(unsigned int count, const Vec2 *vertices)=0
Definition PrimitiveSet:125
virtual const GLvoid * getDataPointer() const
Definition PrimitiveSet:186
int getNumInstances() const
Definition PrimitiveSet:194
virtual bool isSameKindAs(const Object *obj) const
Definition PrimitiveSet:177
virtual osg::PrimitiveSet * asPrimitiveSet()
Definition PrimitiveSet:183
virtual unsigned int getNumIndices() const =0
virtual ~PrimitiveSet()
Definition PrimitiveSet:214
virtual DrawElements * getDrawElements()
Definition PrimitiveSet:190
int _numInstances
Definition PrimitiveSet:217
virtual const osg::PrimitiveSet * asPrimitiveSet() const
Definition PrimitiveSet:184
Type _primitiveType
Definition PrimitiveSet:216
virtual unsigned int getTotalDataSize() const
Definition PrimitiveSet:187
Type getType() const
Definition PrimitiveSet:181
virtual unsigned int index(unsigned int pos) const =0
void setMode(GLenum mode)
Definition PrimitiveSet:196
Mode
Definition PrimitiveSet:148
@ QUADS
Definition PrimitiveSet:156
@ TRIANGLE_STRIP
Definition PrimitiveSet:154
@ PATCHES
Definition PrimitiveSet:163
@ TRIANGLE_FAN
Definition PrimitiveSet:155
@ QUAD_STRIP
Definition PrimitiveSet:157
@ TRIANGLES_ADJACENCY
Definition PrimitiveSet:161
@ LINE_STRIP_ADJACENCY
Definition PrimitiveSet:160
@ TRIANGLE_STRIP_ADJACENCY
Definition PrimitiveSet:162
@ LINE_STRIP
Definition PrimitiveSet:151
@ LINES
Definition PrimitiveSet:150
@ POINTS
Definition PrimitiveSet:149
@ LINE_LOOP
Definition PrimitiveSet:152
@ TRIANGLES
Definition PrimitiveSet:153
@ LINES_ADJACENCY
Definition PrimitiveSet:159
@ POLYGON
Definition PrimitiveSet:158
GLenum _mode
Definition PrimitiveSet:218
virtual void computeRange() const
Definition PrimitiveSet:210
virtual void offsetIndices(int offset)=0
Type
Definition PrimitiveSet:129
@ DrawElementsUByteIndirectPrimitiveType
Definition PrimitiveSet:138
@ DrawArrayLengthsPrimitiveType
Definition PrimitiveSet:132
@ MultiDrawElementsUByteIndirectPrimitiveType
Definition PrimitiveSet:142
@ MultiDrawArraysPrimitiveType
Definition PrimitiveSet:136
@ DrawElementsUIntPrimitiveType
Definition PrimitiveSet:135
@ DrawElementsUShortPrimitiveType
Definition PrimitiveSet:134
@ DrawArraysPrimitiveType
Definition PrimitiveSet:131
@ PrimitiveType
Definition PrimitiveSet:130
@ DrawArraysIndirectPrimitiveType
Definition PrimitiveSet:137
@ MultiDrawElementsUIntIndirectPrimitiveType
Definition PrimitiveSet:144
@ DrawElementsUBytePrimitiveType
Definition PrimitiveSet:133
@ DrawElementsUIntIndirectPrimitiveType
Definition PrimitiveSet:140
@ DrawElementsUShortIndirectPrimitiveType
Definition PrimitiveSet:139
@ MultiDrawElementsUShortIndirectPrimitiveType
Definition PrimitiveSet:143
@ MultiDrawArraysIndirectPrimitiveType
Definition PrimitiveSet:141
virtual unsigned int getNumPrimitives() const
virtual const DrawElements * getDrawElements() const
Definition PrimitiveSet:191
void setNumInstances(int n)
Definition PrimitiveSet:193
virtual bool supportsBufferObject() const
Definition PrimitiveSet:188
PrimitiveSet(Type primType=PrimitiveType, GLenum mode=0, int numInstances=0)
Definition PrimitiveSet:166
virtual void accept(PrimitiveIndexFunctor &functor) const =0
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:178
virtual void draw(State &state, bool useVertexBufferObjects) const =0
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:179
GLenum getMode() const
Definition PrimitiveSet:197
PrimitiveSet(const PrimitiveSet &prim, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:171
virtual void accept(PrimitiveFunctor &functor) const =0
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:243
virtual void accept(PrimitiveFunctor &functor) const
virtual bool isSameKindAs(const Object *obj) const
Definition PrimitiveSet:242
virtual void draw(State &state, bool useVertexBufferObjects) const
virtual ~DrawArrays()
Definition PrimitiveSet:271
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:244
virtual void accept(PrimitiveIndexFunctor &functor) const
void setCount(GLsizei count)
Definition PrimitiveSet:257
GLint _first
Definition PrimitiveSet:273
virtual unsigned int index(unsigned int pos) const
Definition PrimitiveSet:266
void setFirst(GLint first)
Definition PrimitiveSet:254
virtual Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition PrimitiveSet:240
GLsizei _count
Definition PrimitiveSet:274
virtual void offsetIndices(int offset)
Definition PrimitiveSet:267
DrawArrays(const DrawArrays &da, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:235
DrawArrays(GLenum mode, GLint first, GLsizei count, int numInstances=0)
Definition PrimitiveSet:230
GLsizei getCount() const
Definition PrimitiveSet:258
GLint getFirst() const
Definition PrimitiveSet:255
virtual Object * clone(const CopyOp ©op) const
Clone an object, with Object* return type.
Definition PrimitiveSet:241
virtual unsigned int getNumIndices() const
Definition PrimitiveSet:265
void set(GLenum mode, GLint first, GLsizei count)
Definition PrimitiveSet:247
DrawArrays(GLenum mode=0)
Definition PrimitiveSet:225
DrawArrayLengths(const DrawArrayLengths &dal, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:287
virtual unsigned int getNumPrimitives() const
virtual unsigned int index(unsigned int pos) const
Definition PrimitiveSet:324
virtual void offsetIndices(int offset)
Definition PrimitiveSet:325
DrawArrayLengths(GLenum mode, GLint first, unsigned int no)
Definition PrimitiveSet:297
DrawArrayLengths(GLenum mode, GLint first)
Definition PrimitiveSet:302
virtual Object * clone(const CopyOp ©op) const
Clone an object, with Object* return type.
Definition PrimitiveSet:309
DrawArrayLengths(GLenum mode=0)
Definition PrimitiveSet:283
virtual void accept(PrimitiveIndexFunctor &functor) const
virtual bool isSameKindAs(const Object *obj) const
Definition PrimitiveSet:310
DrawArrayLengths(GLenum mode, GLint first, unsigned int no, GLsizei *ptr)
Definition PrimitiveSet:292
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:312
virtual void draw(State &state, bool useVertexBufferObjects) const
virtual void accept(PrimitiveFunctor &functor) const
virtual unsigned int getNumIndices() const
GLint getFirst() const
Definition PrimitiveSet:316
virtual Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition PrimitiveSet:308
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:311
GLint _first
Definition PrimitiveSet:333
VectorGLsizei vector_type
Definition PrimitiveSet:281
void setFirst(GLint first)
Definition PrimitiveSet:315
virtual ~DrawArrayLengths()
Definition PrimitiveSet:331
Definition PrimitiveSet:337
DrawElements(const DrawElements ©, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:343
DrawElements(Type primType=PrimitiveType, GLenum mode=0, int numInstances=0)
Definition PrimitiveSet:340
virtual void resizeElements(unsigned int numIndices)=0
virtual ~DrawElements()
Definition PrimitiveSet:368
virtual const DrawElements * getDrawElements() const
Definition PrimitiveSet:348
void setElementBufferObject(osg::ElementBufferObject *ebo)
Set the ElementBufferObject.
Definition PrimitiveSet:351
virtual DrawElements * getDrawElements()
Definition PrimitiveSet:347
virtual void setElement(unsigned int, unsigned int)=0
osg::ElementBufferObject * getElementBufferObject()
Get the ElementBufferObject.
Definition PrimitiveSet:354
const osg::ElementBufferObject * getElementBufferObject() const
Get the const ElementBufferObject.
Definition PrimitiveSet:357
virtual unsigned int getElement(unsigned int)=0
virtual void addElement(unsigned int)=0
virtual void reserveElements(unsigned int numIndices)=0
virtual GLenum getDataType()=0
virtual bool isSameKindAs(const Object *obj) const
Definition PrimitiveSet:404
virtual unsigned int getElement(unsigned int i)
Definition PrimitiveSet:425
virtual void accept(PrimitiveIndexFunctor &functor) const
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:406
VectorGLubyte vector_type
Definition PrimitiveSet:375
virtual void setElement(unsigned int i, unsigned int v)
Definition PrimitiveSet:424
virtual unsigned int getTotalDataSize() const
Definition PrimitiveSet:409
virtual GLenum getDataType()
Definition PrimitiveSet:421
virtual Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition PrimitiveSet:402
virtual void reserveElements(unsigned int numIndices)
Definition PrimitiveSet:423
virtual bool supportsBufferObject() const
Definition PrimitiveSet:410
DrawElementsUByte(const DrawElementsUByte &array, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:380
virtual void addElement(unsigned int v)
Definition PrimitiveSet:426
virtual void resizeElements(unsigned int numIndices)
Definition PrimitiveSet:422
virtual unsigned int index(unsigned int pos) const
Definition PrimitiveSet:418
DrawElementsUByte(GLenum mode=0)
Definition PrimitiveSet:377
virtual void draw(State &state, bool useVertexBufferObjects) const
virtual const GLvoid * getDataPointer() const
Definition PrimitiveSet:408
virtual void offsetIndices(int offset)
virtual unsigned int getNumIndices() const
Definition PrimitiveSet:417
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:405
DrawElementsUByte(GLenum mode, unsigned int no)
Definition PrimitiveSet:398
virtual ~DrawElementsUByte()
virtual void accept(PrimitiveFunctor &functor) const
virtual Object * clone(const CopyOp ©op) const
Clone an object, with Object* return type.
Definition PrimitiveSet:403
DrawElementsUByte(GLenum mode, unsigned int no, const GLubyte *ptr, int numInstances=0)
Definition PrimitiveSet:390
virtual GLenum getDataType()
Definition PrimitiveSet:489
virtual void reserveElements(unsigned int numIndices)
Definition PrimitiveSet:491
virtual unsigned int getNumIndices() const
Definition PrimitiveSet:485
DrawElementsUShort(GLenum mode, InputIterator first, InputIterator last)
Definition PrimitiveSet:466
virtual void setElement(unsigned int i, unsigned int v)
Definition PrimitiveSet:492
VectorGLushort vector_type
Definition PrimitiveSet:438
virtual void resizeElements(unsigned int numIndices)
Definition PrimitiveSet:490
virtual void accept(PrimitiveFunctor &functor) const
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:474
virtual void offsetIndices(int offset)
virtual unsigned int getElement(unsigned int i)
Definition PrimitiveSet:493
DrawElementsUShort(GLenum mode, unsigned int no)
Definition PrimitiveSet:461
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:473
virtual bool supportsBufferObject() const
Definition PrimitiveSet:478
DrawElementsUShort(GLenum mode=0)
Definition PrimitiveSet:440
virtual void addElement(unsigned int v)
Definition PrimitiveSet:494
virtual const GLvoid * getDataPointer() const
Definition PrimitiveSet:476
virtual ~DrawElementsUShort()
DrawElementsUShort(const DrawElementsUShort &array, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:443
virtual void accept(PrimitiveIndexFunctor &functor) const
virtual Object * clone(const CopyOp ©op) const
Clone an object, with Object* return type.
Definition PrimitiveSet:471
virtual bool isSameKindAs(const Object *obj) const
Definition PrimitiveSet:472
virtual Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition PrimitiveSet:470
virtual void draw(State &state, bool useVertexBufferObjects) const
virtual unsigned int getTotalDataSize() const
Definition PrimitiveSet:477
virtual unsigned int index(unsigned int pos) const
Definition PrimitiveSet:486
DrawElementsUShort(GLenum mode, unsigned int no, const GLushort *ptr, int numInstances=0)
Definition PrimitiveSet:453
DrawElementsUInt(const DrawElementsUInt &array, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:510
virtual Object * clone(const CopyOp ©op) const
Clone an object, with Object* return type.
Definition PrimitiveSet:538
virtual void setElement(unsigned int i, unsigned int v)
Definition PrimitiveSet:559
VectorGLuint vector_type
Definition PrimitiveSet:505
virtual void reserveElements(unsigned int numIndices)
Definition PrimitiveSet:558
virtual void draw(State &state, bool useVertexBufferObjects) const
virtual void accept(PrimitiveFunctor &functor) const
virtual void offsetIndices(int offset)
virtual unsigned int getNumIndices() const
Definition PrimitiveSet:552
virtual unsigned int getTotalDataSize() const
Definition PrimitiveSet:544
virtual bool supportsBufferObject() const
Definition PrimitiveSet:545
virtual void resizeElements(unsigned int numIndices)
Definition PrimitiveSet:557
virtual const GLvoid * getDataPointer() const
Definition PrimitiveSet:543
virtual Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition PrimitiveSet:537
DrawElementsUInt(GLenum mode, InputIterator first, InputIterator last)
Definition PrimitiveSet:533
DrawElementsUInt(GLenum mode, unsigned int no)
Definition PrimitiveSet:528
virtual void accept(PrimitiveIndexFunctor &functor) const
virtual bool isSameKindAs(const Object *obj) const
Definition PrimitiveSet:539
DrawElementsUInt(GLenum mode=0)
Definition PrimitiveSet:507
DrawElementsUInt(GLenum mode, unsigned int no, const GLuint *ptr, int numInstances=0)
Definition PrimitiveSet:520
virtual ~DrawElementsUInt()
virtual void addElement(unsigned int v)
Definition PrimitiveSet:561
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:541
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:540
virtual unsigned int index(unsigned int pos) const
Definition PrimitiveSet:553
virtual GLenum getDataType()
Definition PrimitiveSet:556
virtual unsigned int getElement(unsigned int i)
Definition PrimitiveSet:560
virtual const char * libraryName() const
return the name of the object's library.
Definition PrimitiveSet:584
virtual const char * className() const
return the name of the object's class type.
Definition PrimitiveSet:585
std::vector< GLsizei > Counts
Definition PrimitiveSet:604
void setFirsts(const Firsts &firsts)
Definition PrimitiveSet:600
std::vector< GLint > Firsts
Definition PrimitiveSet:599
virtual unsigned int index(unsigned int pos) const
MultiDrawArrays(const MultiDrawArrays &dal, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition PrimitiveSet:576
Firsts & getFirsts()
Definition PrimitiveSet:601
virtual void accept(PrimitiveIndexFunctor &functor) const
virtual osg::Object * clone(const osg::CopyOp ©op) const
Clone an object, with Object* return type.
Definition PrimitiveSet:582
MultiDrawArrays(GLenum mode=0)
Definition PrimitiveSet:573
void setCounts(const Counts &firsts)
Definition PrimitiveSet:605
virtual unsigned int getNumIndices() const
virtual void accept(PrimitiveFunctor &functor) const
const Firsts & getFirsts() const
Definition PrimitiveSet:602
Counts _counts
Definition PrimitiveSet:614
const Counts & getCounts() const
Definition PrimitiveSet:607
Counts & getCounts()
Definition PrimitiveSet:606
virtual void draw(osg::State &state, bool useVertexBufferObjects) const
virtual osg::Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition PrimitiveSet:581
Firsts _firsts
Definition PrimitiveSet:613
virtual bool isSameKindAs(const osg::Object *obj) const
Definition PrimitiveSet:583
virtual void offsetIndices(int offset)
void add(GLint first, GLsizei count)
virtual unsigned int getNumPrimitives() const
Encapsulates the current applied OpenGL modes, attributes and vertex arrays settings,...
Definition State:80
General purpose double pair, uses include representation of texture coordinates.
Definition Vec2d:29
General purpose double triple for use as vertices, vectors and normals.
Definition Vec3d:30
General purpose double quad.
Definition Vec4d:29
#define NULL
Definition Export:55
#define OSG_EXPORT
Definition Export:39