diff options
Diffstat (limited to 'gfx/gl/sceneProvider.h')
| -rw-r--r-- | gfx/gl/sceneProvider.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gfx/gl/sceneProvider.h b/gfx/gl/sceneProvider.h index f6b7009..e69885a 100644 --- a/gfx/gl/sceneProvider.h +++ b/gfx/gl/sceneProvider.h @@ -1,11 +1,13 @@ #pragma once +#include <functional> #include <special_members.h> class SceneRenderer; class ShadowMapper; class SceneShader; class Frustum; +class Renderable; class SceneProvider { public: @@ -13,6 +15,8 @@ public: virtual ~SceneProvider() = default; DEFAULT_MOVE_COPY(SceneProvider); + using RenderableProcessor = std::function<void(Renderable *)>; + virtual void forEachRenderable(const RenderableProcessor &) const = 0; virtual void content(const SceneShader &, const Frustum &) const = 0; virtual void environment(const SceneShader &, const SceneRenderer &) const; virtual void lights(const SceneShader &) const = 0; |
