Added new virtual reseveElements, setElement, getElment and addElement methods to DrawElements

to make is easier to write code that can work on DrawElementUByte, UShort or UInt.

Changed the osgTerrain::GeometryTechnique so that it automatically chooses 
the use of DrawElementUShort or DrawElementsUInt accordining to the size of the tile.
This commit is contained in:
Robert Osfield
2009-03-25 11:17:21 +00:00
parent 36b3907d79
commit 20ad246896
4 changed files with 112 additions and 43 deletions

View File

@@ -197,6 +197,26 @@ BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::DrawElements)
__void__releaseGLObjects__State_P1,
"If State is non-zero, this function releases OpenGL objects for the specified graphics context. ",
"Otherwise, releases OpenGL objects for all graphics contexts. ");
I_Method1(void, reserveElements, IN, unsigned int, numIndices,
Properties::PURE_VIRTUAL,
__void__reserveElements__unsigned_int,
"",
"");
I_Method2(void, setElement, IN, unsigned, int, IN, unsigned, int,
Properties::PURE_VIRTUAL,
__void__setElement__unsigned__unsigned,
"",
"");
I_Method1(unsigned int, getElement, IN, unsigned, int,
Properties::PURE_VIRTUAL,
__unsigned_int__getElement__unsigned,
"",
"");
I_Method1(void, addElement, IN, unsigned, int,
Properties::PURE_VIRTUAL,
__void__addElement__unsigned,
"",
"");
I_SimpleProperty(osg::DrawElements *, DrawElements,
__DrawElements_P1__getDrawElements,
0);