mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
add 'graphics.particles-batch-vertices' setting
This commit is contained in:
parent
75afce2a68
commit
ed2f0cac77
6 changed files with 9 additions and 7 deletions
|
|
@ -19,12 +19,12 @@ ParticlesRenderer::ParticlesRenderer(
|
|||
const Assets& assets,
|
||||
const Level& level,
|
||||
const Chunks& chunks,
|
||||
const GraphicsSettings* settings
|
||||
const GraphicsSettings& settings
|
||||
)
|
||||
: chunks(chunks),
|
||||
assets(assets),
|
||||
settings(settings),
|
||||
batch(std::make_unique<MainBatch>(4096)) {
|
||||
batch(std::make_unique<MainBatch>(settings.particlesBatchVertices.get())) {
|
||||
}
|
||||
|
||||
ParticlesRenderer::~ParticlesRenderer() = default;
|
||||
|
|
@ -188,7 +188,7 @@ void ParticlesRenderer::render(const Camera& camera) {
|
|||
aliveEmitters = emitters.size();
|
||||
visibleParticles = 0;
|
||||
|
||||
bool backlight = settings->backlight.get();
|
||||
bool backlight = settings.backlight.get();
|
||||
|
||||
batch->begin();
|
||||
for (auto& [texture, vec] : particles) {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ struct GraphicsSettings;
|
|||
class ParticlesRenderer {
|
||||
const Chunks& chunks;
|
||||
const Assets& assets;
|
||||
const GraphicsSettings* settings;
|
||||
const GraphicsSettings& settings;
|
||||
std::unordered_map<const Texture*, std::vector<Particle>> particles;
|
||||
std::unique_ptr<MainBatch> batch;
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ public:
|
|||
const Assets& assets,
|
||||
const Level& level,
|
||||
const Chunks& chunks,
|
||||
const GraphicsSettings* settings
|
||||
const GraphicsSettings& settings
|
||||
);
|
||||
~ParticlesRenderer();
|
||||
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ WorldRenderer::WorldRenderer(
|
|||
engine.getSettings()
|
||||
)),
|
||||
particles(std::make_unique<ParticlesRenderer>(
|
||||
assets, level, *player.chunks, &engine.getSettings().graphics
|
||||
assets, level, *player.chunks, engine.getSettings().graphics
|
||||
)),
|
||||
texts(std::make_unique<TextsRenderer>(*batch3d, assets, *frustumCulling)),
|
||||
blockWraps(
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ class DebugLinesRenderer;
|
|||
class DrawContext;
|
||||
class Engine;
|
||||
class Frustum;
|
||||
class GBuffer;
|
||||
class HandsRenderer;
|
||||
class Level;
|
||||
class LevelFrontend;
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ SettingsHandler::SettingsHandler(EngineSettings& settings) {
|
|||
builder.add("chunk-max-vertices", &settings.graphics.chunkMaxVertices);
|
||||
builder.add("chunk-max-vertices-dense", &settings.graphics.chunkMaxVerticesDense);
|
||||
builder.add("chunk-max-renderers", &settings.graphics.chunkMaxRenderers);
|
||||
builder.add("particles-batch-vertices", &settings.graphics.particlesBatchVertices);
|
||||
builder.add("advanced-render", &settings.graphics.advancedRender);
|
||||
builder.add("ssao", &settings.graphics.ssao);
|
||||
builder.add("shadows-quality", &settings.graphics.shadowsQuality);
|
||||
|
|
|
|||
|
|
@ -79,6 +79,8 @@ struct GraphicsSettings {
|
|||
IntegerSetting chunkMaxVerticesDense {800'000, 0, 8'000'000};
|
||||
/// @brief Limit of chunk renderers count
|
||||
IntegerSetting chunkMaxRenderers {6, -4, 32};
|
||||
/// @brief Particles renderer vertices buffer capacity
|
||||
IntegerSetting particlesBatchVertices {4'096, 0, 1'000'000};
|
||||
/// @brief Advanced render pipeline
|
||||
FlagSetting advancedRender {true};
|
||||
/// @brief Screen space ambient occlusion quality
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue