From 770bc919bb36b1b1bc2f3949144d545c09867dd9 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 15 Oct 2014 09:22:31 -0700 Subject: [PATCH] added some rendering stats to OctreeRenderer --- libraries/octree/src/OctreeRenderer.cpp | 13 ++++++++++- libraries/octree/src/OctreeRenderer.h | 30 +++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/libraries/octree/src/OctreeRenderer.cpp b/libraries/octree/src/OctreeRenderer.cpp index b2fc1241f7..9ea31077a5 100644 --- a/libraries/octree/src/OctreeRenderer.cpp +++ b/libraries/octree/src/OctreeRenderer.cpp @@ -162,12 +162,23 @@ bool OctreeRenderer::renderOperation(OctreeElement* element, void* extraData) { } void OctreeRenderer::render(RenderMode renderMode) { - RenderArgs args = { this, _viewFrustum, getSizeScale(), getBoundaryLevelAdjust(), renderMode, 0, 0, 0 }; + RenderArgs args = { this, _viewFrustum, getSizeScale(), getBoundaryLevelAdjust(), renderMode, 0, 0, 0, 0, 0, 0, 0, 0 }; if (_tree) { _tree->lockForRead(); _tree->recurseTreeWithOperation(renderOperation, &args); _tree->unlock(); } + _meshesConsidered = args._meshesConsidered; + _meshesRendered = args._meshesRendered; + _meshesOutOfView = args._meshesOutOfView; + + _elementsTouched = args._elementsTouched; + _itemsRendered = args._itemsRendered; + _itemsOutOfView = args._itemsOutOfView; + + _trianglesRendered = args._trianglesRendered; + _quadsRendered = args._quadsRendered; + } void OctreeRenderer::clear() { diff --git a/libraries/octree/src/OctreeRenderer.h b/libraries/octree/src/OctreeRenderer.h index d61ed3afce..fbb02344af 100644 --- a/libraries/octree/src/OctreeRenderer.h +++ b/libraries/octree/src/OctreeRenderer.h @@ -63,10 +63,33 @@ public: /// clears the tree virtual void clear(); + + int getElementsTouched() const { return _elementsTouched; } + int getItemsRendered() const { return _itemsRendered; } + int getItemsOutOfView() const { return _itemsOutOfView; } + + int getMeshesConsidered() const { return _meshesConsidered; } + int getMeshesRendered() const { return _meshesRendered; } + int getMeshesOutOfView() const { return _meshesOutOfView; } + + int getTrianglesRendered() const { return _trianglesRendered; } + int getQuadsRendered() const { return _quadsRendered; } + protected: Octree* _tree; bool _managedTree; ViewFrustum* _viewFrustum; + + int _elementsTouched; + int _itemsRendered; + int _itemsOutOfView; + + int _meshesConsidered; + int _meshesRendered; + int _meshesOutOfView; + + int _trianglesRendered; + int _quadsRendered; }; class RenderArgs { @@ -80,6 +103,13 @@ public: int _elementsTouched; int _itemsRendered; int _itemsOutOfView; + + int _meshesConsidered; + int _meshesRendered; + int _meshesOutOfView; + + int _trianglesRendered; + int _quadsRendered; };