#ifndef TERRAIN_H #define TERRAIN_H #include "chronology.hpp" #include "collection.hpp" #include "game/worldobject.h" #include #include #include class Shader; class Texture; class GeoData; class Terrain : public WorldObject, public Renderable { public: explicit Terrain(std::shared_ptr); void render(const Shader & shader) const override; void tick(TickDuration) override; float waveCycle {0.F}; private: void generateMeshes(); std::shared_ptr geoData; Collection meshes; std::shared_ptr grass, water; }; #endif