From 737ce277a6e49d88a04be1e384eef09d486f513b Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 6 Apr 2024 00:47:37 +0100 Subject: Split water from terrain Shares the geo data instance, and still has the same implementation at this stage. --- game/water.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 game/water.h (limited to 'game/water.h') diff --git a/game/water.h b/game/water.h new file mode 100644 index 0000000..20796d7 --- /dev/null +++ b/game/water.h @@ -0,0 +1,29 @@ +#pragma once + +#include "chronology.h" +#include "collection.h" +#include "game/worldobject.h" +#include +#include +#include + +class SceneShader; +class Texture; +class GeoData; + +class Water : public WorldObject, public Renderable { +public: + explicit Water(std::shared_ptr); + + void render(const SceneShader & shader) const override; + + void tick(TickDuration) override; + float waveCycle {0.F}; + +private: + void generateMeshes(); + + std::shared_ptr geoData; + Collection meshes; + std::shared_ptr water; +}; -- cgit v1.2.3 From 97d4db588bfc4254e09e4305fb0525a04748f84e Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 7 Apr 2024 19:38:18 +0100 Subject: Stripped down water vertex and simplified shaders --- game/water.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'game/water.h') diff --git a/game/water.h b/game/water.h index 20796d7..ceb7bd2 100644 --- a/game/water.h +++ b/game/water.h @@ -2,6 +2,7 @@ #include "chronology.h" #include "collection.h" +#include "config/types.h" #include "game/worldobject.h" #include #include @@ -20,10 +21,14 @@ public: void tick(TickDuration) override; float waveCycle {0.F}; + struct Vertex { + GlobalPosition3D pos; + }; + private: void generateMeshes(); std::shared_ptr geoData; - Collection meshes; + Collection, false> meshes; std::shared_ptr water; }; -- cgit v1.2.3