mirror of
https://github.com/minetest/minetest.git
synced 2024-11-27 10:03:45 +01:00
Revert "Add mesh-holding blocks to shadow drawlist. (#13203)"
This reverts commit 2a8becd650a8adaa86fd7f76122ea75f11f49dad.
This commit is contained in:
parent
1c1f1b1615
commit
b01f85d573
@ -1240,9 +1240,6 @@ void ClientMap::updateDrawListShadow(v3f shadow_light_pos, v3f shadow_light_dir,
|
|||||||
// Number of blocks occlusion culled
|
// Number of blocks occlusion culled
|
||||||
u32 blocks_occlusion_culled = 0;
|
u32 blocks_occlusion_culled = 0;
|
||||||
|
|
||||||
std::set<v3s16> shortlist;
|
|
||||||
MeshGrid mesh_grid = m_client->getMeshGrid();
|
|
||||||
|
|
||||||
for (auto §or_it : m_sectors) {
|
for (auto §or_it : m_sectors) {
|
||||||
MapSector *sector = sector_it.second;
|
MapSector *sector = sector_it.second;
|
||||||
if (!sector)
|
if (!sector)
|
||||||
@ -1256,8 +1253,8 @@ void ClientMap::updateDrawListShadow(v3f shadow_light_pos, v3f shadow_light_dir,
|
|||||||
Loop through blocks in sector
|
Loop through blocks in sector
|
||||||
*/
|
*/
|
||||||
for (MapBlock *block : sectorblocks) {
|
for (MapBlock *block : sectorblocks) {
|
||||||
if (mesh_grid.cell_size == 1 && !block->mesh) {
|
if (!block->mesh) {
|
||||||
// fast out in the case of no mesh chunking
|
// Ignore if mesh doesn't exist
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1266,17 +1263,6 @@ void ClientMap::updateDrawListShadow(v3f shadow_light_pos, v3f shadow_light_dir,
|
|||||||
if (projection.getDistanceFrom(block_pos) > radius)
|
if (projection.getDistanceFrom(block_pos) > radius)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (mesh_grid.cell_size > 1) {
|
|
||||||
// Block meshes are stored in the corner block of a chunk
|
|
||||||
// (where all coordinate are divisible by the chunk size)
|
|
||||||
// Add them to the de-dup set.
|
|
||||||
shortlist.emplace(mesh_grid.getMeshPos(block->getPos()));
|
|
||||||
}
|
|
||||||
if (!block->mesh) {
|
|
||||||
// Ignore if mesh doesn't exist
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
blocks_in_range_with_mesh++;
|
blocks_in_range_with_mesh++;
|
||||||
|
|
||||||
// This block is in range. Reset usage timer.
|
// This block is in range. Reset usage timer.
|
||||||
@ -1288,12 +1274,6 @@ void ClientMap::updateDrawListShadow(v3f shadow_light_pos, v3f shadow_light_dir,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (auto pos : shortlist) {
|
|
||||||
MapBlock * block = getBlockNoCreateNoEx(pos);
|
|
||||||
if (block && block->mesh && m_drawlist_shadow.emplace(pos, block).second) {
|
|
||||||
block->refGrab();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
g_profiler->avg("SHADOW MapBlock meshes in range [#]", blocks_in_range_with_mesh);
|
g_profiler->avg("SHADOW MapBlock meshes in range [#]", blocks_in_range_with_mesh);
|
||||||
g_profiler->avg("SHADOW MapBlocks occlusion culled [#]", blocks_occlusion_culled);
|
g_profiler->avg("SHADOW MapBlocks occlusion culled [#]", blocks_occlusion_culled);
|
||||||
|
Loading…
Reference in New Issue
Block a user