From 24edfb77afbb631cb83d26a095b609850f997e5c Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Sun, 18 Dec 2016 21:43:04 -0800 Subject: Fix occlusion culling, again (#4930) --- src/clientmap.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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, -- cgit v1.2.3