summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/editNetwork.cpp8
-rw-r--r--ui/editNetwork.h4
-rw-r--r--ui/gameMainSelector.cpp6
-rw-r--r--ui/gameMainSelector.h4
-rw-r--r--ui/gameMainWindow.cpp8
-rw-r--r--ui/gameMainWindow.h2
-rw-r--r--ui/worldOverlay.h3
7 files changed, 18 insertions, 17 deletions
diff --git a/ui/editNetwork.cpp b/ui/editNetwork.cpp
index c4c0297..2887491 100644
--- a/ui/editNetwork.cpp
+++ b/ui/editNetwork.cpp
@@ -48,19 +48,19 @@ EditNetwork::handleInput(const SDL_Event & e, const UIComponent::Position & pare
}
void
-EditNetwork::render(const SceneShader & shader) const
+EditNetwork::render(const SceneShader & shader, const Frustum & frustum) const
{
if (builder) {
blue.bind();
shader.absolute.use();
- builder->render(shader);
+ builder->render(shader, frustum);
}
}
void
-EditNetwork::Builder::render(const SceneShader & shader) const
+EditNetwork::Builder::render(const SceneShader & shader, const Frustum & frustum) const
{
- candidateLinks.apply<const Renderable>(&Renderable::render, shader);
+ candidateLinks.apply<const Renderable>(&Renderable::render, shader, frustum);
}
void
diff --git a/ui/editNetwork.h b/ui/editNetwork.h
index 2ae467d..ae887bd 100644
--- a/ui/editNetwork.h
+++ b/ui/editNetwork.h
@@ -18,7 +18,7 @@ public:
bool click(const SDL_MouseButtonEvent & e, const Ray<GlobalPosition3D> &) override;
bool move(const SDL_MouseMotionEvent & e, const Ray<GlobalPosition3D> &) override;
bool handleInput(const SDL_Event & e, const UIComponent::Position &) override;
- void render(const SceneShader &) const override;
+ void render(const SceneShader &, const Frustum &) const override;
void render(const UIShader & shader, const UIComponent::Position & pos) const override;
using NetworkClickPos = std::variant<GlobalPosition3D, Node::Ptr>;
@@ -26,7 +26,7 @@ public:
class Builder {
public:
virtual ~Builder() = default;
- virtual void render(const SceneShader & shader) const;
+ virtual void render(const SceneShader & shader, const Frustum &) const;
virtual std::string hint() const = 0;
virtual void click(Network *, const GeoData *, const SDL_MouseButtonEvent &, const Ray<GlobalPosition3D> &) = 0;
virtual void move(Network *, const GeoData *, const SDL_MouseMotionEvent &, const Ray<GlobalPosition3D> &) = 0;
diff --git a/ui/gameMainSelector.cpp b/ui/gameMainSelector.cpp
index a817f69..23ae8c0 100644
--- a/ui/gameMainSelector.cpp
+++ b/ui/gameMainSelector.cpp
@@ -33,10 +33,10 @@ GameMainSelector::render(const UIShader & shader, const Position & parentPos) co
}
void
-GameMainSelector::render(const SceneShader & shader) const
+GameMainSelector::render(const SceneShader & shader, const Frustum & frustum) const
{
if (target) {
- target->render(shader);
+ target->render(shader, frustum);
}
}
@@ -115,6 +115,6 @@ GameMainSelector::Component::render(const UIShader &, const UIComponent::Positio
}
void
-GameMainSelector::Component::render(const SceneShader &) const
+GameMainSelector::Component::render(const SceneShader &, const Frustum &) const
{
}
diff --git a/ui/gameMainSelector.h b/ui/gameMainSelector.h
index ccf0fa0..e715823 100644
--- a/ui/gameMainSelector.h
+++ b/ui/gameMainSelector.h
@@ -24,13 +24,13 @@ public:
virtual bool move(const SDL_MouseMotionEvent &, const Ray<GlobalPosition3D> &);
virtual bool handleInput(const SDL_Event &, const Position & pos);
virtual void render(const UIShader & shader, const Position & pos) const;
- virtual void render(const SceneShader &) const;
+ virtual void render(const SceneShader &, const Frustum &) const;
};
GameMainSelector(const Camera * c, ScreenAbsCoord size);
void render(const UIShader & shader, const Position & pos) const override;
- void render(const SceneShader & shader) const override;
+ void render(const SceneShader & shader, const Frustum &) const override;
bool handleInput(const SDL_Event & e, const Position &) override;
diff --git a/ui/gameMainWindow.cpp b/ui/gameMainWindow.cpp
index c53300b..3403afa 100644
--- a/ui/gameMainWindow.cpp
+++ b/ui/gameMainWindow.cpp
@@ -54,15 +54,15 @@ GameMainWindow::render() const
}
void
-GameMainWindow::content(const SceneShader & shader) const
+GameMainWindow::content(const SceneShader & shader, const Frustum & frustum) const
{
for (const auto & [id, asset] : gameState->assets) {
if (const auto r = std::dynamic_pointer_cast<const Renderable>(asset)) {
- r->render(shader);
+ r->render(shader, frustum);
}
}
- gameState->world.apply<Renderable>(&Renderable::render, shader);
- uiComponents.apply<WorldOverlay>(&WorldOverlay::render, shader);
+ gameState->world.apply<Renderable>(&Renderable::render, shader, frustum);
+ uiComponents.apply<WorldOverlay>(&WorldOverlay::render, shader, frustum);
}
void
diff --git a/ui/gameMainWindow.h b/ui/gameMainWindow.h
index fcbd135..112d23b 100644
--- a/ui/gameMainWindow.h
+++ b/ui/gameMainWindow.h
@@ -17,7 +17,7 @@ public:
void render() const override;
private:
- void content(const SceneShader &) 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 override;
diff --git a/ui/worldOverlay.h b/ui/worldOverlay.h
index 18fab3f..a0f3b65 100644
--- a/ui/worldOverlay.h
+++ b/ui/worldOverlay.h
@@ -1,9 +1,10 @@
#pragma once
class SceneShader;
+class Frustum;
class WorldOverlay {
public:
virtual ~WorldOverlay() = default;
- virtual void render(const SceneShader &) const = 0;
+ virtual void render(const SceneShader &, const Frustum &) const = 0;
};