void RenderPassManager::render(SceneRenderState * state) { PROFILE_SCOPE( RenderPassManager_Render ); GFX->pushWorldMatrix(); MatrixF proj = GFX->getProjectionMatrix(); for (Vector<RenderBinManager *>::iterator itr = mRenderBins.begin(); itr != mRenderBins.end(); itr++) { RenderBinManager *curBin = *itr; AssertFatal(curBin, "Invalid render manager!"); getRenderBinSignal().trigger(curBin, state, true); curBin->render(state); getRenderBinSignal().trigger(curBin, state, false); } GFX->popWorldMatrix(); GFX->setProjectionMatrix( proj ); // Restore a clean state for subsequent rendering. GFX->disableShaders(); for(S32 i = 0; i < GFX->getNumSamplers(); ++i) GFX->setTexture(i, NULL); }