mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-10 21:41:50 +00:00
voxels renderer rebuilt, WorldFiles fix
This commit is contained in:
parent
0576316282
commit
754c5b80d0
44 changed files with 1141 additions and 524 deletions
31
src/graphics/ChunksRenderer.h
Normal file
31
src/graphics/ChunksRenderer.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#ifndef SRC_GRAPHICS_CHUNKSRENDERER_H_
|
||||
#define SRC_GRAPHICS_CHUNKSRENDERER_H_
|
||||
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <glm/glm.hpp>
|
||||
#include "../voxels/Block.h"
|
||||
#include "../voxels/ChunksStorage.h"
|
||||
|
||||
class Mesh;
|
||||
class Chunk;
|
||||
class Level;
|
||||
class BlocksRenderer;
|
||||
|
||||
class ChunksRenderer {
|
||||
BlocksRenderer* renderer;
|
||||
Level* level;
|
||||
std::unordered_map<glm::ivec2, std::shared_ptr<Mesh>> meshes;
|
||||
public:
|
||||
ChunksRenderer(Level* level);
|
||||
virtual ~ChunksRenderer();
|
||||
|
||||
std::shared_ptr<Mesh> render(Chunk* chunk);
|
||||
void unload(Chunk* chunk);
|
||||
|
||||
std::shared_ptr<Mesh> getOrRender(Chunk* chunk);
|
||||
std::shared_ptr<Mesh> get(Chunk* chunk);
|
||||
|
||||
};
|
||||
|
||||
#endif // SRC_GRAPHICS_CHUNKSRENDERER_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue