#ifndef SCENE_H #define SCENE_H #include "vector.h" #include "quadtree.h" #include "gl.h" #include "shader.h" #include "gui.h" #include "particle.h" #include class Scene { public: float pitch, yaw; Vector3 pos; float yvel; Quadtree *qt; FTFont *font; GUI *gui; bool running; bool grid; bool terrain; bool gravity; bool dialog; Quadtree::QuadNode *last_node; unsigned int last_time; Vector3 selected; bool do_select, show_selection; int sx, sy; GLShaderProgram terrain_program; GLShaderProgram selection_program; ParticleGroup *selection_particles; GLuint grass_texture, rock_texture, soil_texture, marker_texture; GLuint circle_texture; Scene(); ~Scene(); void lookat(); void move(float forward, float right, int steps); bool select(int x, int y, float& px, float& py, float& pz); void update(); void events(); void render(); GLuint load_texture(const char *filename); }; #endif