Use more aggressive culling.
This commit is contained in:
parent
d51754c237
commit
2b1c5be315
@ -350,10 +350,11 @@ parseSceneManager(core::list<scene::ISceneNode*> List, std::vector<scene::IScene
|
||||
if (!(*I)->isVisible())
|
||||
continue;
|
||||
(*I)->updateAbsolutePosition();
|
||||
|
||||
(*I)->setAutomaticCulling(scene::EAC_FRUSTUM_BOX);
|
||||
scene::ICameraSceneNode* cam = irr_driver->getSceneManager()->getActiveCamera();
|
||||
bool IsCulledForSolid = irr_driver->getSceneManager()->isCulled(*I);
|
||||
bool IsCulledForShadow[4];
|
||||
|
||||
for (unsigned i = 0; i < 4; ++i)
|
||||
{
|
||||
scene::ICameraSceneNode* cam = shadowCams[i];
|
||||
@ -365,9 +366,6 @@ parseSceneManager(core::list<scene::ISceneNode*> List, std::vector<scene::IScene
|
||||
bool IsCulledForRSM = irr_driver->getSceneManager()->isCulled(*I);
|
||||
irr_driver->getSceneManager()->setActiveCamera(cam);
|
||||
|
||||
if (IsCulledForSolid && IsCulledForShadow[0] && IsCulledForShadow[1] && IsCulledForShadow[2] && IsCulledForShadow[3])
|
||||
continue;
|
||||
|
||||
if (!IsCulledForSolid)
|
||||
{
|
||||
if (ParticleSystemProxy *node = dynamic_cast<ParticleSystemProxy *>(*I))
|
||||
|
Loading…
Reference in New Issue
Block a user