Public Types | |
enum | StatsType { STAT_NONE, STAT_FRAMERATE, STAT_GRAPHS, STAT_PRIMS, STAT_PRIMSPERVIEW, STAT_PRIMSPERBIN, STAT_DC, STAT_RESTART } |
typedef std::pair < unsigned int, unsigned int > | PrimitivePair |
typedef std::map < GLenum, PrimitivePair > | PrimitiveValueMap |
typedef std::map < GLenum, unsigned int > | PrimitiveCountMap |
Public Member Functions | |
Statistics () | |
void | reset () |
void | setType (StatsType t) |
virtual void | setVertexArray (unsigned int count, const osg::Vec3 *) |
Sets the array of vertices used to describe the primitives. | |
virtual void | setVertexArray (unsigned int count, const osg::Vec2 *) |
Sets the array of vertices used to describe the primitives. | |
virtual void | setVertexArray (unsigned int count, const osg::Vec4 *) |
Sets the array of vertices used to describe the primitives. | |
virtual void | drawArrays (GLenum mode, GLint, GLsizei count) |
Mimics the OpenGL glDrawArrays() function. | |
virtual void | drawElements (GLenum mode, GLsizei count, const GLubyte *) |
Mimics the OpenGL glDrawElements() function. | |
virtual void | drawElements (GLenum mode, GLsizei count, const GLushort *) |
Mimics the OpenGL glDrawElements() function. | |
virtual void | drawElements (GLenum mode, GLsizei count, const GLuint *) |
Mimics the OpenGL glDrawElements() function. | |
virtual void | begin (GLenum mode) |
Mimics the OpenGL glBegin() function. | |
void | vertex () |
virtual void | vertex (float, float, float) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (const osg::Vec3 &) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (const osg::Vec2 &) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (const osg::Vec4 &) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (float, float) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (float, float, float, float) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | end () |
Mimics the OpenGL glEnd() function. | |
void | addDrawable () |
void | addMatrix () |
void | addLight (int np) |
void | addImpostor (int np) |
int | getBins () |
void | setDepth (int d) |
void | addBins (int np) |
void | setBinNo (int n) |
void | add (const Statistics &stats) |
PrimitiveCountMap::iterator | GetPrimitivesBegin () |
PrimitiveCountMap::iterator | GetPrimitivesEnd () |
Public Attributes | |
int | numDrawables |
int | nummat |
int | nbins |
int | nlights |
int | depth |
int | _binNo |
StatsType | stattype |
int | nimpostor |
unsigned int | _vertexCount |
PrimitiveValueMap | _primitiveCount |
GLenum | _currentPrimitiveFunctorMode |
Used to extract primitive information from the renderBin(s). Add a case of getStats(osgUtil::Statistics *stat) for any new drawable (or drawable derived class) that you generate (eg see Geometry.cpp). There are 20 types of drawable counted - actually only 14 cases can occur in reality. these represent sets of GL_POINTS, GL_LINES GL_LINESTRIPS, LOOPS, TRIANGLES, TRI-fans, tristrips, quads, quadstrips etc The number of triangles rendered is inferred: each triangle = 1 triangle (number of vertices/3) each quad = 2 triangles (nverts/2) each trifan or tristrip = (length-2) triangles and so on.
typedef std::pair<unsigned int,unsigned int> osgUtil::Statistics::PrimitivePair |
typedef std::map<GLenum,PrimitivePair> osgUtil::Statistics::PrimitiveValueMap |
typedef std::map<GLenum, unsigned int> osgUtil::Statistics::PrimitiveCountMap |
osgUtil::Statistics::Statistics | ( | ) |
void osgUtil::Statistics::reset | ( | ) |
void osgUtil::Statistics::setType | ( | StatsType | t | ) | [inline] |
virtual void osgUtil::Statistics::setVertexArray | ( | unsigned int | count, | |
const osg::Vec3 * | vertices | |||
) | [inline, virtual] |
Sets the array of vertices used to describe the primitives.
Somehow mimics the OpenGL glVertexPointer()
function.
Implements osg::PrimitiveFunctor.
virtual void osgUtil::Statistics::setVertexArray | ( | unsigned int | count, | |
const osg::Vec2 * | vertices | |||
) | [inline, virtual] |
Sets the array of vertices used to describe the primitives.
Somehow mimics the OpenGL glVertexPointer()
function.
Implements osg::PrimitiveFunctor.
virtual void osgUtil::Statistics::setVertexArray | ( | unsigned int | count, | |
const osg::Vec4 * | vertices | |||
) | [inline, virtual] |
Sets the array of vertices used to describe the primitives.
Somehow mimics the OpenGL glVertexPointer()
function.
Implements osg::PrimitiveFunctor.
virtual void osgUtil::Statistics::drawArrays | ( | GLenum | mode, | |
GLint | first, | |||
GLsizei | count | |||
) | [virtual] |
virtual void osgUtil::Statistics::drawElements | ( | GLenum | mode, | |
GLsizei | count, | |||
const GLubyte * | indices | |||
) | [virtual] |
virtual void osgUtil::Statistics::drawElements | ( | GLenum | mode, | |
GLsizei | count, | |||
const GLushort * | indices | |||
) | [virtual] |
virtual void osgUtil::Statistics::drawElements | ( | GLenum | mode, | |
GLsizei | count, | |||
const GLuint * | indices | |||
) | [virtual] |
virtual void osgUtil::Statistics::begin | ( | GLenum | mode | ) | [virtual] |
void osgUtil::Statistics::vertex | ( | ) | [inline] |
virtual void osgUtil::Statistics::vertex | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline, virtual] |
virtual void osgUtil::Statistics::vertex | ( | const osg::Vec3 & | vert | ) | [inline, virtual] |
virtual void osgUtil::Statistics::vertex | ( | const osg::Vec2 & | vert | ) | [inline, virtual] |
virtual void osgUtil::Statistics::vertex | ( | const osg::Vec4 & | vert | ) | [inline, virtual] |
virtual void osgUtil::Statistics::vertex | ( | float | x, | |
float | y | |||
) | [inline, virtual] |
virtual void osgUtil::Statistics::vertex | ( | float | x, | |
float | y, | |||
float | z, | |||
float | w | |||
) | [inline, virtual] |
virtual void osgUtil::Statistics::end | ( | ) | [virtual] |
void osgUtil::Statistics::addDrawable | ( | ) | [inline] |
void osgUtil::Statistics::addMatrix | ( | ) | [inline] |
void osgUtil::Statistics::addLight | ( | int | np | ) | [inline] |
void osgUtil::Statistics::addImpostor | ( | int | np | ) | [inline] |
int osgUtil::Statistics::getBins | ( | ) | [inline] |
void osgUtil::Statistics::setDepth | ( | int | d | ) | [inline] |
void osgUtil::Statistics::addBins | ( | int | np | ) | [inline] |
void osgUtil::Statistics::setBinNo | ( | int | n | ) | [inline] |
void osgUtil::Statistics::add | ( | const Statistics & | stats | ) |
PrimitiveCountMap::iterator osgUtil::Statistics::GetPrimitivesBegin | ( | ) | [inline] |
PrimitiveCountMap::iterator osgUtil::Statistics::GetPrimitivesEnd | ( | ) | [inline] |
unsigned int osgUtil::Statistics::_vertexCount |