#ifndef GRASSENVIRONMENT_H #define GRASSENVIRONMENT_H #include "Game/GameObjects/GameObject.h" #include "Graphics/global.h" #include "Graphics/camera.h" #include #include "Environment.h" class GrassEnvironment : public Environment { public: GrassEnvironment(std::map>& rigid_gameobjects, std::map>& dynamic_gameobjects, std::shared_ptr camera); void draw() override; void update(double deltaTime) override; private: GLuint VAO, VBO; GLuint grass_tex, wind_tex, meadow_tex; std::vector positions; std::map>& m_rigid_gameobjects; std::map>& m_dynamic_gameobjects; std::shared_ptr m_camera; void initializeGrassVBO(); glm::vec2 getRandomOffset(int ub, int numRows); }; #endif // GRASSENVIRONMENT_H