From c9ed059d9170f2f7f662cbb59e6009fd54c8ed3f Mon Sep 17 00:00:00 2001 From: DS Date: Sun, 18 Sep 2022 15:28:53 +0200 Subject: Client map: do frustum culling via planes (#12710) --- src/client/mapblock_mesh.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/client/mapblock_mesh.cpp') diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp index c730b9bf9..d05a786a6 100644 --- a/src/client/mapblock_mesh.cpp +++ b/src/client/mapblock_mesh.cpp @@ -1031,9 +1031,9 @@ void MapBlockBspTree::buildTree(const std::vector *triangles) /** * @brief Find a candidate plane to split a set of triangles in two - * + * * The candidate plane is represented by one of the triangles from the set. - * + * * @param list Vector of indexes of the triangles in the set * @param triangles Vector of all triangles in the BSP tree * @return Address of the triangle that represents the proposed split plane @@ -1225,7 +1225,7 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data, v3s16 camera_offset): Convert FastFaces to MeshCollector */ - MeshCollector collector; + MeshCollector collector(m_bounding_sphere_center); { // avg 0ms (100ms spikes when loading textures the first time) @@ -1261,6 +1261,8 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data, v3s16 camera_offset): const bool desync_animations = g_settings->getBool( "desynchronize_mapblock_texture_animation"); + m_bounding_radius = std::sqrt(collector.m_bounding_radius_sq); + for (int layer = 0; layer < MAX_TILE_LAYERS; layer++) { for(u32 i = 0; i < collector.prebuffers[layer].size(); i++) { -- cgit v1.2.3