From: lhofhansl Date: Mon, 19 Dec 2016 05:43:04 +0000 (-0800) Subject: Fix occlusion culling, again (#4930) X-Git-Tag: 0.4.15~19 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=24edfb77afbb631cb83d26a095b609850f997e5c;p=oweals%2Fminetest.git Fix occlusion culling, again (#4930) --- diff --git a/src/clientmap.cpp b/src/clientmap.cpp index db71d4b57..faa1461f6 100644 --- a/src/clientmap.cpp +++ b/src/clientmap.cpp @@ -301,7 +301,10 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver) float endoff = -BS * MAP_BLOCKSIZE * 1.732050807569; v3s16 spn = cam_pos_nodes; s16 bs2 = MAP_BLOCKSIZE / 2 + 1; - u32 needed_count = 1; + // to reduce the likelihood of falsely occluded blocks + // require at least two solid blocks + // this is a HACK, we should think of a more precise algorithm + u32 needed_count = 2; if (occlusion_culling_enabled && // For the central point of the mapblock 'endoff' can be halved isOccluded(this, spn, cpn,