diff --git a/components/terrain/quadtreeworld.cpp b/components/terrain/quadtreeworld.cpp index ae3656fd2..0140ade49 100644 --- a/components/terrain/quadtreeworld.cpp +++ b/components/terrain/quadtreeworld.cpp @@ -442,7 +442,7 @@ void QuadTreeWorld::accept(osg::NodeVisitor &nv) } if (isCullVisitor) - updateWaterCullingView(mHeightCullCallback, vd, static_cast(&nv), mStorage->getCellWorldSize(), !mGrid.empty()); + updateWaterCullingView(mHeightCullCallback, vd, static_cast(&nv), mStorage->getCellWorldSize(), !isGridEmpty()); if (!isCullVisitor) vd->clear(); // we can't reuse intersection views in the next frame because they only contain what is touched by the intersection ray. diff --git a/components/terrain/terraingrid.hpp b/components/terrain/terraingrid.hpp index e633a258f..cb37ca296 100644 --- a/components/terrain/terraingrid.hpp +++ b/components/terrain/terraingrid.hpp @@ -28,6 +28,9 @@ namespace Terrain View* createView(); protected: + bool isGridEmpty() { return mGrid.empty(); } + + private: osg::ref_ptr buildTerrain (osg::Group* parent, float chunkSize, const osg::Vec2f& chunkCenter); void updateWaterCulling();