void RenderTarget::update(void) { // notify listeners (pre) firePreUpdate(); mStats.triangleCount = 0; mStats.batchCount = 0; // Go through viewports in Z-order // Tell each to refresh ViewportList::iterator it = mViewportList.begin(); while (it != mViewportList.end()) { fireViewportPreUpdate((*it).second); (*it).second->update(); mStats.triangleCount += (*it).second->_getNumRenderedFaces(); mStats.batchCount += (*it).second->_getNumRenderedBatches(); fireViewportPostUpdate((*it).second); ++it; } // notify listeners (post) firePostUpdate(); // Update statistics (always on top) updateStats(); }
void RenderTarget::_updateViewport(Viewport* viewport, bool updateStatistics) { assert(viewport->getTarget() == this && "RenderTarget::_updateViewport the requested viewport is " "not bound to the rendertarget!"); fireViewportPreUpdate(viewport); viewport->update(); if(updateStatistics) { mStats.triangleCount += viewport->_getNumRenderedFaces(); mStats.batchCount += viewport->_getNumRenderedBatches(); } fireViewportPostUpdate(viewport); }