12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef ENGINE_H
- #define ENGINE_H
- #include "client/Game.h"
- #include "client/rendering/Framebuffers.h"
- #include "client/rendering/Mesh.h"
- #include "client/rendering/NoiseTexture.h"
- #include "client/rendering/RenderSettings.h"
- #include "client/rendering/Renderer.h"
- #include "client/rendering/Shaders.h"
- #include "gaming-core/math/Frustum.h"
- class Engine final {
- public:
- Engine(Shaders& shaders, Framebuffers& fb, const Size& size,
- RenderSettings& renderSettings);
- void renderTick(float lag, Game& game);
- private:
- void renderShadow(float lag, Game& game);
- void renderWorld(float lag, Game& game);
- void renderSSAO();
- void renderPostWorld();
- void renderOverlay(float lag, Game& game);
- void updateWorldProjection();
- void updateWorldView();
- Shaders& shaders;
- Framebuffers& framebuffers;
- const Size& size;
- RenderSettings& renderSettings;
- Frustum frustum;
- MatrixStack<16> model;
- Renderer renderer;
- NoiseTexture ssaoNoise;
- Mesh rectangle;
- Matrix worldProj;
- Matrix worldView;
- Matrix worldShadowProj;
- Matrix worldShadowView;
- Matrix worldShadowProjView;
- };
- #endif
|