blob: 9fbeccd927526f9456c20278028991fb7d4dec09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#pragma once
#include <special_members.h>
class SceneShader;
class Frustum;
class ShadowMapper;
class ShadowStenciller;
class Renderable {
public:
Renderable() = default;
virtual ~Renderable() = default;
DEFAULT_MOVE_COPY(Renderable);
virtual void render(const SceneShader & shader, const Frustum &) const = 0;
virtual void lights(const SceneShader & shader) const;
virtual void shadows(const ShadowMapper & shadowMapper) const;
virtual void updateStencil(const ShadowStenciller & lightDir) const;
};
|