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-04-25 23:43:40 +02:00
|
|
|
virtual void beginFrame() override;
|
2021-10-01 19:55:04 +02:00
|
|
|
virtual void update() override;
|
|
|
|
|
virtual void endFrame() override;
|
|
|
|
|
|
|
|
|
|
virtual void prepareRender() override;
|
|
|
|
|
virtual void render() override;
|
|
|
|
|
|
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;
|
|
|
|
|
LightCullingPassData lightCullingData;
|
|
|
|
|
BasePassData basePassData;
|
2021-09-29 22:12:56 +02:00
|
|
|
|
2020-11-03 01:18:30 +01: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
|