#ifndef SRC_GRAPHICS_CHUNKSRENDERER_H_ #define SRC_GRAPHICS_CHUNKSRENDERER_H_ #include #include #include #include "../voxels/Block.h" #include "../voxels/ChunksStorage.h" class Mesh; class Chunk; class Level; class BlocksRenderer; class ContentGfxCache; class ChunksRenderer { BlocksRenderer* renderer; Level* level; std::unordered_map> meshes; public: ChunksRenderer(Level* level, const ContentGfxCache* cache); virtual ~ChunksRenderer(); std::shared_ptr render(Chunk* chunk); void unload(Chunk* chunk); std::shared_ptr getOrRender(Chunk* chunk); std::shared_ptr get(Chunk* chunk); }; #endif // SRC_GRAPHICS_CHUNKSRENDERER_H_