OpenSceneGraph
Public Types | Public Member Functions | Public Attributes | List of all members
osgUtil::Statistics Class Reference

Statistics base class. More...

Inheritance diagram for osgUtil::Statistics:
Inheritance graph
[legend]
Collaboration diagram for osgUtil::Statistics:
Collaboration graph
[legend]

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

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. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec2 *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec4 *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec3d *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec2d *)
 Sets the array of vertices used to describe the primitives. More...
 
virtual void setVertexArray (unsigned int count, const osg::Vec4d *)
 Sets the array of vertices used to describe the primitives. More...
 
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 addFastDrawable ()
 
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 addStateGraphs (int n)
 
void addOrderedLeaves (int n)
 
void add (const Statistics &stats)
 
PrimitiveCountMap & getPrimitiveCountMap ()
 
const PrimitiveCountMap & getPrimitiveCountMap () const
 
PrimitiveValueMap & getPrimitiveValueMap ()
 
const PrimitiveValueMap & getPrimitiveValueMap () const
 
PrimitiveCountMap::iterator GetPrimitivesBegin ()
 deprecated
 
PrimitiveCountMap::iterator GetPrimitivesEnd ()
 deprecated
 
- Public Member Functions inherited from osg::PrimitiveFunctor
void useVertexCacheAsVertexArray ()
 

Public Attributes

int numDrawables
 
int nummat
 
int nbins
 
int numStateGraphs
 
int numFastDrawables
 
int nlights
 
int depth
 
int _binNo
 
StatsType stattype
 
int nimpostor
 
int numOrderedLeaves
 
unsigned int _vertexCount
 
PrimitiveValueMap _primitiveCount
 
GLenum _currentPrimitiveFunctorMode
 
- Public Attributes inherited from osg::PrimitiveFunctor
std::vector< Vec3_vertexCache
 
bool _treatVertexDataAsTemporary
 

Detailed Description

Statistics base class.

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.

Member Function Documentation

◆ setVertexArray() [1/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec3 vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [2/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec2 vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [3/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec4 vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [4/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec3d vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [5/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec2d vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

◆ setVertexArray() [6/6]

virtual void osgUtil::Statistics::setVertexArray ( unsigned int  count,
const osg::Vec4d vertices 
)
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.


The documentation for this class was generated from the following file: