diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-03-03 21:08:59 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-03-03 21:08:59 +0000 |
commit | de153c133b6ca1bf836f066e8d97c52204491abc (patch) | |
tree | af77ff8733bf9522d34a580791d33ce934a513c9 /gfx/gl | |
parent | Cache the camera's view matrix (diff) | |
download | ilt-de153c133b6ca1bf836f066e8d97c52204491abc.tar.bz2 ilt-de153c133b6ca1bf836f066e8d97c52204491abc.tar.xz ilt-de153c133b6ca1bf836f066e8d97c52204491abc.zip |
Pass camera into SceneProvider::content
Allow for provider to perform culling.
Diffstat (limited to 'gfx/gl')
-rw-r--r-- | gfx/gl/sceneProvider.h | 3 | ||||
-rw-r--r-- | gfx/gl/sceneRenderer.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/gfx/gl/sceneProvider.h b/gfx/gl/sceneProvider.h index f5e8e99..de6ba0b 100644 --- a/gfx/gl/sceneProvider.h +++ b/gfx/gl/sceneProvider.h @@ -5,6 +5,7 @@ class SceneRenderer; class ShadowMapper; class SceneShader; +class Camera; class SceneProvider { public: @@ -12,7 +13,7 @@ public: virtual ~SceneProvider() = default; DEFAULT_MOVE_COPY(SceneProvider); - virtual void content(const SceneShader &) const = 0; + virtual void content(const SceneShader &, const Camera &) const = 0; virtual void environment(const SceneShader &, const SceneRenderer &) const; virtual void lights(const SceneShader &) const = 0; virtual void shadows(const ShadowMapper &) const; diff --git a/gfx/gl/sceneRenderer.cpp b/gfx/gl/sceneRenderer.cpp index b2a7d78..188c4fd 100644 --- a/gfx/gl/sceneRenderer.cpp +++ b/gfx/gl/sceneRenderer.cpp @@ -71,7 +71,7 @@ SceneRenderer::render(const SceneProvider & scene) const glEnable(GL_DEPTH_TEST); glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - scene.content(shader); + scene.content(shader, camera); // Environment pass - // * ambient - clears illumination texture - see setAmbientLight |