diff options
author | x2048 <codeforsmile@gmail.com> | 2022-09-06 08:25:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-06 08:25:18 +0200 |
commit | ff6dcfea82974df6db5a557e31aaddb6bdb7a71f (patch) | |
tree | 18bafaedcfdff36a0c0719653b99370b7434b344 /src/client/render/core.h | |
parent | 464043b8abdbd936640757604ecb21662592043b (diff) | |
download | minetest-ff6dcfea82974df6db5a557e31aaddb6bdb7a71f.tar.xz |
Implement rendering pipeline and post-processing (#12465)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: lhofhansl <lhofhansl@yahoo.com>
Diffstat (limited to 'src/client/render/core.h')
-rw-r--r-- | src/client/render/core.h | 35 |
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; }; }; |