summaryrefslogtreecommitdiff
path: root/ui/gameMainWindow.h
blob: 015bb2b81dad145028a6901d6249dfaba849ae99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "chronology.h"
#include "gfx/gl/sceneRenderer.h"
#include "windowContent.h"

class GameMainWindow : public WindowContent, SceneRenderer, public SceneProvider {
public:
	GameMainWindow(ScreenAbsCoord size);

	void tick(TickDuration) override;
	void render() override;

private:
	bool handleInput(const SDL_Event &) override;

	void forEachRenderable(const RenderableProcessor & func) const override;
	void content(const SceneShader &, const Frustum &) const override;
	void environment(const SceneShader &, const SceneRenderer &) const override;
	void lights(const SceneShader &) const override;
	void shadows(const ShadowMapper &, const Frustum &) const override;
};