Files
Seele/src/Engine/Window/SceneView.h
T

43 lines
1.3 KiB
C++
Raw Normal View History

2020-03-05 11:43:38 +01:00
#pragma once
#include "View.h"
2021-10-01 19:55:04 +02:00
#include "Graphics/RenderPass/DepthPrepass.h"
#include "Graphics/RenderPass/LightCullingPass.h"
#include "Graphics/RenderPass/BasePass.h"
2020-03-05 11:43:38 +01:00
namespace Seele
{
2021-04-01 16:40:14 +02:00
DECLARE_REF(Scene)
DECLARE_REF(CameraActor)
2021-09-29 22:12:56 +02:00
2020-04-12 15:47:19 +02:00
class SceneView : public View
{
public:
2020-05-05 01:51:13 +02:00
SceneView(Gfx::PGraphics graphics, PWindow owner, const ViewportCreateInfo &createInfo);
2020-04-12 15:47:19 +02:00
~SceneView();
2021-10-15 23:12:29 +02:00
virtual void beginUpdate() override;
2021-10-01 19:55:04 +02:00
virtual void update() override;
2021-10-15 23:12:29 +02:00
virtual void commitUpdate() override;
2021-10-01 19:55:04 +02:00
virtual void prepareRender() override;
2021-12-02 13:00:03 +01:00
virtual MainJob render() override;
2021-10-01 19:55:04 +02:00
2020-09-19 14:36:50 +02:00
PScene getScene() const { return scene; }
private:
PScene scene;
2020-10-29 02:22:01 +01:00
PCameraActor activeCamera;
2021-10-01 19:55:04 +02:00
DepthPrepass depthPrepass;
LightCullingPass lightCullingPass;
BasePass basePass;
DepthPrepassData depthPrepassData;
2021-10-05 12:24:41 +02:00
LightCullingPassData lightCullingPassData;
2021-10-01 19:55:04 +02:00
BasePassData basePassData;
2021-09-29 22:12:56 +02:00
virtual void keyCallback(KeyCode code, InputAction action, KeyModifier modifier) override;
virtual void mouseMoveCallback(double xPos, double yPos) override;
virtual void mouseButtonCallback(MouseButton button, InputAction action, KeyModifier modifier) override;
2021-01-19 15:30:00 +01:00
virtual void scrollCallback(double xOffset, double yOffset) override;
virtual void fileCallback(int count, const char** paths) override;
2020-04-12 15:47:19 +02:00
};
2021-04-01 16:40:14 +02:00
DEFINE_REF(SceneView)
2020-04-12 15:47:19 +02:00
} // namespace Seele