add 'graphics.chunk-max-vertices', 'graphics.chunk-max-renderers' settings

This commit is contained in:
MihailRis
2024-10-01 23:25:25 +03:00
parent a65cf6ed66
commit e750d90ff4
4 changed files with 11 additions and 7 deletions
+6 -6
View File
@@ -12,18 +12,17 @@
static debug::Logger logger("chunks-render");
const uint RENDERER_CAPACITY = 9 * 6 * 6 * 3000;
class RendererWorker : public util::Worker<Chunk, RendererResult> {
Level* level;
BlocksRenderer renderer;
public:
RendererWorker(
Level* level,
const ContentGfxCache* cache,
const ContentGfxCache* cache,
const EngineSettings* settings
) : level(level),
renderer(RENDERER_CAPACITY, level->content, cache, settings)
renderer(settings->graphics.chunkMaxVertices.get(),
level->content, cache, settings)
{}
RendererResult operator()(const std::shared_ptr<Chunk>& chunk) override {
@@ -43,12 +42,13 @@ ChunksRenderer::ChunksRenderer(
[=](RendererResult& mesh){
meshes[mesh.key] = mesh.renderer->createMesh();
inwork.erase(mesh.key);
})
}, settings->graphics.chunkMaxRenderers.get())
{
threadPool.setStandaloneResults(false);
threadPool.setStopOnFail(false);
renderer = std::make_unique<BlocksRenderer>(
RENDERER_CAPACITY, level->content, cache, settings
settings->graphics.chunkMaxVertices.get(),
level->content, cache, settings
);
logger.info() << "created " << threadPool.getWorkersCount() << " workers";
}