fix compiler warnings (GCC + Clang)
This commit is contained in:
@@ -329,8 +329,6 @@ void BlocksRenderer::blockCube(
|
||||
bool lights,
|
||||
bool ao
|
||||
) {
|
||||
ubyte group = block.drawGroup;
|
||||
|
||||
glm::ivec3 X(1, 0, 0);
|
||||
glm::ivec3 Y(0, 1, 0);
|
||||
glm::ivec3 Z(0, 0, 1);
|
||||
@@ -557,7 +555,7 @@ SortingMeshData BlocksRenderer::renderTranslucent(
|
||||
y + 0.5f,
|
||||
z + chunk->z * CHUNK_D + 0.5f
|
||||
),
|
||||
util::Buffer<float>(indexSize * CHUNK_VERTEX_SIZE)};
|
||||
util::Buffer<float>(indexSize * CHUNK_VERTEX_SIZE), 0};
|
||||
|
||||
totalSize += entry.vertexData.size();
|
||||
|
||||
@@ -593,7 +591,8 @@ SortingMeshData BlocksRenderer::renderTranslucent(
|
||||
sortingMesh.entries.size() > 1) {
|
||||
SortingMeshEntry newEntry {
|
||||
sortingMesh.entries[0].position,
|
||||
util::Buffer<float>(totalSize)
|
||||
util::Buffer<float>(totalSize),
|
||||
0
|
||||
};
|
||||
size_t offset = 0;
|
||||
for (const auto& entry : sortingMesh.entries) {
|
||||
@@ -643,7 +642,7 @@ void BlocksRenderer::build(const Chunk* chunk, const Chunks* chunks) {
|
||||
vertexOffset = 0;
|
||||
indexOffset = indexSize = 0;
|
||||
|
||||
sortingMesh = std::move(renderTranslucent(voxels, beginEnds));
|
||||
sortingMesh = renderTranslucent(voxels, beginEnds);
|
||||
|
||||
overflow = false;
|
||||
vertexOffset = 0;
|
||||
|
||||
@@ -19,7 +19,6 @@ static debug::Logger logger("chunks-render");
|
||||
size_t ChunksRenderer::visibleChunks = 0;
|
||||
|
||||
class RendererWorker : public util::Worker<std::shared_ptr<Chunk>, RendererResult> {
|
||||
const Level& level;
|
||||
const Chunks& chunks;
|
||||
BlocksRenderer renderer;
|
||||
public:
|
||||
@@ -29,8 +28,7 @@ public:
|
||||
const ContentGfxCache& cache,
|
||||
const EngineSettings& settings
|
||||
)
|
||||
: level(level),
|
||||
chunks(chunks),
|
||||
: chunks(chunks),
|
||||
renderer(
|
||||
settings.graphics.denseRender.get()
|
||||
? settings.graphics.chunkMaxVerticesDense.get()
|
||||
@@ -45,7 +43,7 @@ public:
|
||||
renderer.build(chunk.get(), &chunks);
|
||||
if (renderer.isCancelled()) {
|
||||
return RendererResult {
|
||||
glm::ivec2(chunk->x, chunk->z), true, MeshData()};
|
||||
glm::ivec2(chunk->x, chunk->z), true, ChunkMeshData {}};
|
||||
}
|
||||
auto meshData = renderer.createMesh();
|
||||
return RendererResult {
|
||||
@@ -61,8 +59,7 @@ ChunksRenderer::ChunksRenderer(
|
||||
const ContentGfxCache& cache,
|
||||
const EngineSettings& settings
|
||||
)
|
||||
: level(*level),
|
||||
chunks(chunks),
|
||||
: chunks(chunks),
|
||||
assets(assets),
|
||||
frustum(frustum),
|
||||
settings(settings),
|
||||
|
||||
@@ -42,7 +42,6 @@ struct RendererResult {
|
||||
};
|
||||
|
||||
class ChunksRenderer {
|
||||
const Level& level;
|
||||
const Chunks& chunks;
|
||||
const Assets& assets;
|
||||
const Frustum& frustum;
|
||||
|
||||
@@ -40,11 +40,10 @@ Decorator::Decorator(
|
||||
const Assets& assets,
|
||||
Player& player
|
||||
)
|
||||
: engine(engine),
|
||||
level(*controller.getLevel()),
|
||||
renderer(renderer),
|
||||
: level(*controller.getLevel()),
|
||||
assets(assets),
|
||||
player(player) {
|
||||
player(player),
|
||||
renderer(renderer) {
|
||||
controller.getBlocksController()->listenBlockInteraction(
|
||||
[this](auto player, const auto& pos, const auto& def, BlockInteraction type) {
|
||||
if (type == BlockInteraction::placing && def.particles) {
|
||||
|
||||
@@ -18,11 +18,10 @@ class Block;
|
||||
class Engine;
|
||||
class LevelController;
|
||||
class WorldRenderer;
|
||||
class Weather;
|
||||
struct Weather;
|
||||
struct WeatherPreset;
|
||||
|
||||
class Decorator {
|
||||
Engine& engine;
|
||||
const Level& level;
|
||||
const Assets& assets;
|
||||
Player& player;
|
||||
|
||||
@@ -19,7 +19,7 @@ Emitter::Emitter(
|
||||
)
|
||||
: level(level),
|
||||
origin(std::move(origin)),
|
||||
prototype({this, 0, {}, preset.velocity, preset.lifetime, region}),
|
||||
prototype({this, 0, {}, preset.velocity, preset.lifetime, region, 0, 0}),
|
||||
texture(texture),
|
||||
count(count),
|
||||
preset(std::move(preset)) {
|
||||
|
||||
@@ -51,11 +51,10 @@ ModelBatch::ModelBatch(
|
||||
const Chunks& chunks,
|
||||
const EngineSettings& settings
|
||||
)
|
||||
: batch(std::make_unique<MainBatch>(capacity)),
|
||||
assets(assets),
|
||||
: assets(assets),
|
||||
chunks(chunks),
|
||||
settings(settings) {
|
||||
}
|
||||
settings(settings),
|
||||
batch(std::make_unique<MainBatch>(capacity)) {}
|
||||
|
||||
ModelBatch::~ModelBatch() = default;
|
||||
|
||||
|
||||
@@ -21,11 +21,10 @@ ParticlesRenderer::ParticlesRenderer(
|
||||
const Chunks& chunks,
|
||||
const GraphicsSettings* settings
|
||||
)
|
||||
: batch(std::make_unique<MainBatch>(4096)),
|
||||
level(level),
|
||||
chunks(chunks),
|
||||
: chunks(chunks),
|
||||
assets(assets),
|
||||
settings(settings) {
|
||||
settings(settings),
|
||||
batch(std::make_unique<MainBatch>(4096)) {
|
||||
}
|
||||
|
||||
ParticlesRenderer::~ParticlesRenderer() = default;
|
||||
@@ -171,7 +170,6 @@ void ParticlesRenderer::render(const Camera& camera, float delta) {
|
||||
continue;
|
||||
}
|
||||
auto texture = emitter.getTexture();
|
||||
const auto& found = particles.find(texture);
|
||||
std::vector<Particle>* vec;
|
||||
vec = &particles[texture];
|
||||
emitter.update(delta, camera.position, *vec);
|
||||
|
||||
@@ -16,7 +16,6 @@ class Level;
|
||||
struct GraphicsSettings;
|
||||
|
||||
class ParticlesRenderer {
|
||||
const Level& level;
|
||||
const Chunks& chunks;
|
||||
const Assets& assets;
|
||||
const GraphicsSettings* settings;
|
||||
|
||||
@@ -18,15 +18,13 @@
|
||||
|
||||
PrecipitationRenderer::PrecipitationRenderer(
|
||||
const Assets& assets,
|
||||
const Level& level,
|
||||
const Level&,
|
||||
const Chunks& chunks,
|
||||
const GraphicsSettings* settings
|
||||
const GraphicsSettings*
|
||||
)
|
||||
: batch(std::make_unique<MainBatch>(4096)),
|
||||
level(level),
|
||||
chunks(chunks),
|
||||
assets(assets),
|
||||
settings(settings) {
|
||||
assets(assets) {
|
||||
}
|
||||
|
||||
PrecipitationRenderer::~PrecipitationRenderer() = default;
|
||||
|
||||
@@ -12,10 +12,8 @@ struct WeatherPreset;
|
||||
|
||||
class PrecipitationRenderer {
|
||||
std::unique_ptr<MainBatch> batch;
|
||||
const Level& level;
|
||||
const Chunks& chunks;
|
||||
const Assets& assets;
|
||||
const GraphicsSettings* settings;
|
||||
float timer = 0.0f;
|
||||
|
||||
int getHeightAt(int x, int z);
|
||||
|
||||
@@ -72,10 +72,6 @@ WorldRenderer::WorldRenderer(
|
||||
modelBatch(std::make_unique<ModelBatch>(
|
||||
MODEL_BATCH_CAPACITY, assets, *player.chunks, engine.getSettings()
|
||||
)),
|
||||
particles(std::make_unique<ParticlesRenderer>(
|
||||
assets, level, *player.chunks, &engine.getSettings().graphics
|
||||
)),
|
||||
texts(std::make_unique<TextsRenderer>(*batch3d, assets, *frustumCulling)),
|
||||
guides(std::make_unique<GuidesRenderer>()),
|
||||
chunks(std::make_unique<ChunksRenderer>(
|
||||
&level,
|
||||
@@ -85,6 +81,10 @@ WorldRenderer::WorldRenderer(
|
||||
frontend.getContentGfxCache(),
|
||||
engine.getSettings()
|
||||
)),
|
||||
particles(std::make_unique<ParticlesRenderer>(
|
||||
assets, level, *player.chunks, &engine.getSettings().graphics
|
||||
)),
|
||||
texts(std::make_unique<TextsRenderer>(*batch3d, assets, *frustumCulling)),
|
||||
blockWraps(
|
||||
std::make_unique<BlockWrapsRenderer>(assets, level, *player.chunks)
|
||||
),
|
||||
|
||||
@@ -43,10 +43,10 @@ class WorldRenderer {
|
||||
std::unique_ptr<Frustum> frustumCulling;
|
||||
std::unique_ptr<LineBatch> lineBatch;
|
||||
std::unique_ptr<Batch3D> batch3d;
|
||||
std::unique_ptr<ChunksRenderer> chunks;
|
||||
std::unique_ptr<GuidesRenderer> guides;
|
||||
std::unique_ptr<Skybox> skybox;
|
||||
std::unique_ptr<ModelBatch> modelBatch;
|
||||
std::unique_ptr<GuidesRenderer> guides;
|
||||
std::unique_ptr<ChunksRenderer> chunks;
|
||||
std::unique_ptr<Skybox> skybox;
|
||||
Weather weather {};
|
||||
|
||||
float timer = 0.0f;
|
||||
@@ -73,8 +73,8 @@ class WorldRenderer {
|
||||
float fogFactor
|
||||
);
|
||||
public:
|
||||
std::unique_ptr<TextsRenderer> texts;
|
||||
std::unique_ptr<ParticlesRenderer> particles;
|
||||
std::unique_ptr<TextsRenderer> texts;
|
||||
std::unique_ptr<BlockWrapsRenderer> blockWraps;
|
||||
std::unique_ptr<PrecipitationRenderer> precipitation;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user