#ifndef WORLD_RENDERER_CPP #define WORLD_RENDERER_CPP #include #include #include #include #include #include #include #include "../graphics/GfxContext.h" class Level; class Camera; class LineBatch; class ChunksRenderer; class Shader; class Texture; class Frustum; class Engine; class Chunks; class ContentGfxCache; class Skybox; class WorldRenderer { Engine* engine; Level* level; Frustum* frustumCulling; LineBatch* lineBatch; ChunksRenderer* renderer; Skybox* skybox; bool drawChunk(size_t index, Camera* camera, Shader* shader, bool occlusion); void drawChunks(Chunks* chunks, Camera* camera, Shader* shader, bool occlusion); public: WorldRenderer(Engine* engine, Level* level, const ContentGfxCache* cache); ~WorldRenderer(); void draw(const GfxContext& context, Camera* camera, bool occlusion); void drawDebug(const GfxContext& context, Camera* camera); }; #endif // WORLD_RENDERER_CPP