#include "camera.hpp"
#include "controller.hpp"
+#include "hud.hpp"
#include "init.hpp"
+#include "model.hpp"
#include "shader.hpp"
+#include "world.hpp"
namespace blank {
public:
Application();
- ~Application();
Application(const Application &) = delete;
Application &operator =(const Application &) = delete;
+ /// run until user quits
void Run();
void Loop(int dt);
+ /// run for n frames
+ void RunN(size_t n);
+ /// run for t milliseconds
+ void RunT(size_t t);
+ /// run for n frames, assuming t milliseconds for each
+ void RunS(size_t n, size_t t);
+
void HandleEvents();
void Update(int dt);
void Render();
Window window;
GLContext ctx;
InitGLEW init_glew;
- Program program;
-
- float move_velocity;
- float pitch_sensitivity;
- float yaw_sensitivity;
+ DirectionalLighting program;
Camera cam;
- FPSController model;
+ HUD hud;
+ World world;
+ FPSController controller;
- GLuint vtx_buf;
- GLuint mvp_handle;
+ OutlineModel outline;
+ bool outline_visible;
+ glm::mat4 outline_transform;
bool running;
- bool front, back, left, right, up, down;
+ bool place, remove, pick;
+
+ int remove_id;
+ int place_id;
};