MCPcopy Create free account
hub / github.com/OGRECave/ogre / _renderQueueGroupObjects

Method _renderQueueGroupObjects

OgreMain/src/OgreSceneManager.cpp:1500–1534  ·  view source on GitHub ↗

-----------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1498}
1499//-----------------------------------------------------------------------
1500void SceneManager::_renderQueueGroupObjects(RenderQueueGroup* pGroup,
1501 QueuedRenderableCollection::OrganisationMode om)
1502{
1503 bool doShadows = pGroup->getShadowsEnabled() && mCurrentViewport->getShadowsEnabled();
1504
1505 // Modulative texture shadows in use
1506 if (isShadowTechniqueTextureBased() && mIlluminationStage == IRS_RENDER_TO_TEXTURE)
1507 {
1508 // Shadow caster pass
1509 if (mCurrentViewport->getShadowsEnabled())
1510 {
1511 mTextureShadowRenderer.renderTextureShadowCasterQueueGroupObjects(pGroup, om);
1512 }
1513 return;
1514 }
1515
1516 // Ordinary + receiver pass
1517 if (doShadows && isShadowTechniqueInUse() && !isShadowTechniqueIntegrated())
1518 {
1519 if(isShadowTechniqueStencilBased())
1520 mStencilShadowRenderer.render(pGroup, om);
1521 else
1522 mTextureShadowRenderer.render(pGroup, om);
1523
1524 auto visitor = mActiveQueuedRenderableVisitor;
1525 for (const auto& pg : pGroup->getPriorityGroups())
1526 {
1527 visitor->renderTransparents(pg.second, om);
1528 }
1529 return;
1530 }
1531
1532 // No shadows, ordinary pass
1533 renderBasicQueueGroupObjects(pGroup, om);
1534}
1535//-----------------------------------------------------------------------
1536void SceneManager::renderBasicQueueGroupObjects(RenderQueueGroup* pGroup,
1537 QueuedRenderableCollection::OrganisationMode om)

Callers

nothing calls this directly

Calls 8

isShadowTechniqueInUseFunction · 0.85
getShadowsEnabledMethod · 0.80
renderTransparentsMethod · 0.80
renderMethod · 0.45

Tested by

no test coverage detected