aboutsummaryrefslogtreecommitdiff
path: root/src/client/meshgen/collector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/meshgen/collector.cpp')
-rw-r--r--src/client/meshgen/collector.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/client/meshgen/collector.cpp b/src/client/meshgen/collector.cpp
index 25457c868..c5f4eb976 100644
--- a/src/client/meshgen/collector.cpp
+++ b/src/client/meshgen/collector.cpp
@@ -45,9 +45,12 @@ void MeshCollector::append(const TileLayer &layer, const video::S3DVertex *verti
scale = 1.0f / layer.scale;
u32 vertex_count = p.vertices.size();
- for (u32 i = 0; i < numVertices; i++)
+ for (u32 i = 0; i < numVertices; i++) {
p.vertices.emplace_back(vertices[i].Pos, vertices[i].Normal,
vertices[i].Color, scale * vertices[i].TCoords);
+ m_bounding_radius_sq = std::max(m_bounding_radius_sq,
+ (vertices[i].Pos - m_center_pos).getLengthSQ());
+ }
for (u32 i = 0; i < numIndices; i++)
p.indices.push_back(indices[i] + vertex_count);
@@ -81,8 +84,11 @@ void MeshCollector::append(const TileLayer &layer, const video::S3DVertex *verti
video::SColor color = c;
if (!light_source)
applyFacesShading(color, vertices[i].Normal);
- p.vertices.emplace_back(vertices[i].Pos + pos, vertices[i].Normal, color,
+ auto vpos = vertices[i].Pos + pos;
+ p.vertices.emplace_back(vpos, vertices[i].Normal, color,
scale * vertices[i].TCoords);
+ m_bounding_radius_sq = std::max(m_bounding_radius_sq,
+ (vpos - m_center_pos).getLengthSQ());
}
for (u32 i = 0; i < numIndices; i++)