#include <string.h>
#include <iostream>
-std::map<u16, std::vector<v3s16> > FacePositionCache::m_cache;
+UNORDERED_MAP<u16, std::vector<v3s16> > FacePositionCache::m_cache;
Mutex FacePositionCache::m_cache_mutex;
// Calculate the borders of a "d-radius" cube
// TODO: Make it work without mutex and data races, probably thread-local
f32 cosangle = dforward / blockpos_adj.getLength();
// If block is not in the field of view, skip it
- if(cosangle < cos(camera_fov / 2))
+ // HOTFIX: use sligthly increased angle (+10%) to fix too agressive
+ // culling. Somebody have to find out whats wrong with the math here.
+ // Previous value: camera_fov / 2
+ if(cosangle < cos(camera_fov * 0.55))
return false;
return true;