aboutsummaryrefslogtreecommitdiff
path: root/src/client/render/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/render/core.h')
-rw-r--r--src/client/render/core.h35
1 files changed, 10 insertions, 25 deletions
diff --git a/src/client/render/core.h b/src/client/render/core.h
index cabfbbfad..7b882436d 100644
--- a/src/client/render/core.h
+++ b/src/client/render/core.h
@@ -26,43 +26,28 @@ class Camera;
class Client;
class Hud;
class Minimap;
+class RenderPipeline;
+class RenderTarget;
class RenderingCore
{
protected:
- v2u32 screensize;
- v2u32 virtual_size;
- video::SColor skycolor;
- bool show_hud;
- bool show_minimap;
- bool draw_wield_tool;
- bool draw_crosshair;
-
IrrlichtDevice *device;
- video::IVideoDriver *driver;
- scene::ISceneManager *smgr;
- gui::IGUIEnvironment *guienv;
-
Client *client;
- Camera *camera;
- Minimap *mapper;
Hud *hud;
-
ShadowRenderer *shadow_renderer;
- void updateScreenSize();
- virtual void initTextures() {}
- virtual void clearTextures() {}
+ RenderPipeline *pipeline;
- virtual void beforeDraw() {}
- virtual void drawAll() = 0;
+ v2f virtual_size_scale;
+ v2u32 virtual_size { 0, 0 };
- void draw3D();
- void drawHUD();
- void drawPostFx();
+ virtual void createPipeline() {}
public:
- RenderingCore(IrrlichtDevice *_device, Client *_client, Hud *_hud);
+ RenderingCore(IrrlichtDevice *device, Client *client, Hud *hud,
+ ShadowRenderer *shadow_renderer, RenderPipeline *pipeline,
+ v2f virtual_size_scale);
RenderingCore(const RenderingCore &) = delete;
RenderingCore(RenderingCore &&) = delete;
virtual ~RenderingCore();
@@ -74,7 +59,7 @@ public:
void draw(video::SColor _skycolor, bool _show_hud, bool _show_minimap,
bool _draw_wield_tool, bool _draw_crosshair);
- inline v2u32 getVirtualSize() const { return virtual_size; }
+ v2u32 getVirtualSize() const;
ShadowRenderer *get_shadow_renderer() { return shadow_renderer; };
};