From d0f98103e4fb57a609fbe84d8b9865f5dd199a47 Mon Sep 17 00:00:00 2001 From: scrawl <scrawl@baseoftrash.de> Date: Thu, 6 Mar 2014 02:58:46 +0100 Subject: [PATCH] Terrain: re-added "distant land=off" path Still a hack, but the overhead of building and traversing the quad tree appears negligible. --- components/CMakeLists.txt | 2 +- components/terrain/quadtreenode.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt index 0a99c9528a..db4ecad0b1 100644 --- a/components/CMakeLists.txt +++ b/components/CMakeLists.txt @@ -75,7 +75,7 @@ add_component_dir (translation add_definitions(-DTERRAIN_USE_SHADER=1) add_component_dir (terrain - quadtreenode chunk world storage material buffercache compositemap defs + quadtreenode chunk world storage material buffercache defs ) add_component_dir (loadinglistener diff --git a/components/terrain/quadtreenode.cpp b/components/terrain/quadtreenode.cpp index 56cfc2a745..40a8baaf02 100644 --- a/components/terrain/quadtreenode.cpp +++ b/components/terrain/quadtreenode.cpp @@ -282,6 +282,9 @@ bool QuadTreeNode::update(const Ogre::Vector3 &cameraPos) size_t wantedLod = 0; float cellWorldSize = mTerrain->getStorage()->getCellWorldSize(); + if (!mTerrain->getDistantLandEnabled() && dist > cellWorldSize) + return true; + if (dist > cellWorldSize*64) wantedLod = 6; else if (dist > cellWorldSize*32)