Added support for the ARB_vertex_buffer_object into osg::Geometry.

This commit is contained in:
Robert Osfield
2003-06-29 21:41:57 +00:00
parent 4c78da34b2
commit b5442ac835
11 changed files with 1018 additions and 511 deletions

View File

@@ -77,6 +77,7 @@ class SG_EXPORT Array : public Object
GLint getDataSize() const { return _dataSize; }
GLenum getDataType() const { return _dataType; }
virtual const GLvoid* getDataPointer() const = 0;
virtual unsigned int getTotalDataSize() const = 0;
virtual unsigned int getNumElements() const = 0;
protected:
@@ -122,6 +123,7 @@ class TemplateArray : public Array, public std::vector<T>
virtual void accept(unsigned int index,ConstValueVisitor& vv) const { vv.apply( (*this)[index] );}
virtual const GLvoid* getDataPointer() const { if (!empty()) return &front(); else return 0; }
virtual unsigned int getTotalDataSize() const { return size()*sizeof(T); }
virtual unsigned int getNumElements() const { return size(); }
protected:
@@ -183,6 +185,7 @@ class TemplateIndexArray : public IndexArray, public std::vector<T>
virtual void accept(unsigned int index,ConstValueVisitor& vv) const { vv.apply( (*this)[index] );}
virtual const GLvoid* getDataPointer() const { if (!empty()) return &front(); else return 0; }
virtual unsigned int getTotalDataSize() const { return size()*sizeof(T); }
virtual unsigned int getNumElements() const { return size(); }
virtual unsigned int index(unsigned int pos) const { return (*this)[pos]; }