2021-12-20 03:31:44 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
2021-12-20 23:51:18 +00:00
|
|
|
#include "Cuboid.hpp"
|
2021-12-20 03:31:44 +00:00
|
|
|
|
|
|
|
struct GLFWwindow;
|
|
|
|
|
|
|
|
class Application
|
|
|
|
{
|
|
|
|
/////////////////////////////////////////////////////////
|
|
|
|
////// SINGLETON BOILERPLATE ////////////////////////////
|
|
|
|
/////////////////////////////////////////////////////////
|
|
|
|
public:
|
|
|
|
static Application& Instance()
|
|
|
|
{
|
|
|
|
static Application app;
|
|
|
|
return app;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
Application() = default;
|
|
|
|
~Application();
|
|
|
|
Application(const Application& other) = delete;
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////
|
|
|
|
////// APPLICATION IMPLEMENTATION ///////////////////////
|
|
|
|
/////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
public:
|
|
|
|
void Init(int width, int height, const std::string& title);
|
|
|
|
void Launch();
|
|
|
|
|
|
|
|
private:
|
|
|
|
GLFWwindow* window = nullptr;
|
2021-12-20 18:09:52 +00:00
|
|
|
|
2021-12-21 14:22:47 +00:00
|
|
|
glm::vec3 cubeOrientation, cubePosition, cubeScale;
|
2021-12-20 23:51:18 +00:00
|
|
|
Cuboid* cube;
|
2021-12-20 03:31:44 +00:00
|
|
|
};
|