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

Method validateRenderableForRendering

OgreMain/src/OgreSceneManager.cpp:1475–1498  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

1473}
1474//-----------------------------------------------------------------------
1475bool SceneManager::validateRenderableForRendering(const Pass* pass, const Renderable* rend)
1476{
1477 // Skip this renderable if we're doing modulative texture shadows, it casts shadows
1478 // and we're doing the render receivers pass and we're not self-shadowing
1479 // also if pass number > 0
1480 if (mCurrentViewport->getShadowsEnabled() && isShadowTechniqueTextureBased())
1481 {
1482 if (mIlluminationStage == IRS_RENDER_RECEIVER_PASS &&
1483 rend->getCastsShadows() && !mTextureShadowRenderer.mShadowTextureSelfShadow)
1484 {
1485 return false;
1486 }
1487 // Some duplication here with validatePassForRendering, for transparents
1488 if (((isShadowTechniqueModulative() && mIlluminationStage == IRS_RENDER_RECEIVER_PASS) ||
1489 mIlluminationStage == IRS_RENDER_TO_TEXTURE) &&
1490 pass->getIndex() > 0)
1491 {
1492 return false;
1493 }
1494 }
1495
1496 return true;
1497
1498}
1499//-----------------------------------------------------------------------
1500void SceneManager::_renderQueueGroupObjects(RenderQueueGroup* pGroup,
1501 QueuedRenderableCollection::OrganisationMode om)

Callers 1

visitMethod · 0.80

Calls 5

getShadowsEnabledMethod · 0.80
getCastsShadowsMethod · 0.45
getIndexMethod · 0.45

Tested by

no test coverage detected