Fix T40257: Frustum culling not working properly

Instead of getting fancy this time, we'll just use Mahalin's simpler
fix. This may have slight performance impacts, but it is a lot simpler
than the previous fix and shouldn't cause as many bugs.
This commit is contained in:
2015-01-07 20:41:07 -08:00
parent 4fac29ca0e
commit 8ebb552a95

View File

@@ -1502,6 +1502,15 @@ void KX_Scene::CalculateVisibleMeshes(RAS_IRasterizer* rasty,KX_Camera* cam, int
bool dbvt_culling = false;
if (m_dbvt_culling)
{
/* Reset KX_GameObject m_bCulled to true before doing culling
* since DBVT culling will only set it to false.
* This is similar to what RAS_BucketManager does for RAS_MeshSlot culling.
*/
for (int i = 0; i < m_objectlist->GetCount(); i++) {
KX_GameObject *gameobj = static_cast<KX_GameObject*>(m_objectlist->GetValue(i));
gameobj->SetCulled(true);
}
// test culling through Bullet
MT_Vector4 planes[6];
// get the clip planes