feat: blocks renderer optimization

This commit is contained in:
MihailRis 2025-12-12 19:36:12 +03:00
parent 14a61f7891
commit 9286d48365
3 changed files with 6 additions and 5 deletions

View file

@ -334,7 +334,8 @@ bool Chunks::putChunk(const std::shared_ptr<Chunk>& chunk) {
// reduce nesting on next modification
// 25.06.2024: not now
// 11.11.2024: not now
void Chunks::getVoxels(VoxelsVolume& volume, bool backlight) const {
// 12.12.2025: not now
void Chunks::getVoxels(VoxelsVolume& volume, bool backlight, int top) const {
voxel* voxels = volume.getVoxels();
light_t* lights = volume.getLights();
int x = volume.getX();
@ -342,7 +343,7 @@ void Chunks::getVoxels(VoxelsVolume& volume, bool backlight) const {
int z = volume.getZ();
int w = volume.getW();
int h = volume.getH();
int h = std::min<int>(volume.getH(), top);
int d = volume.getD();
int scx = floordiv<CHUNK_W>(x);

View file

@ -9,6 +9,7 @@
#include "typedefs.hpp"
#include "voxel.hpp"
#include "constants.hpp"
#include "util/AreaMap2D.hpp"
class VoxelRenderer;
@ -126,7 +127,7 @@ public:
bool isReplaceableBlock(int32_t x, int32_t y, int32_t z);
bool isObstacleBlock(int32_t x, int32_t y, int32_t z);
void getVoxels(VoxelsVolume& volume, bool backlight = false) const;
void getVoxels(VoxelsVolume& volume, bool backlight = false, int top = CHUNK_H) const;
void setCenter(int32_t x, int32_t z);
void resize(uint32_t newW, uint32_t newD);