#pragma once #include #include #include #include #define GLEW_STATIC #include "GL/glew.h" #include "glm/glm.hpp" void moveCamera(double); void setUp() noexcept(false); void tearDown() noexcept; void setWindowTitle(const char*) noexcept; void renderCycle(const std::function&) noexcept; glm::mat4 getViewTransform() noexcept; glm::mat4 getProjectionTransform() noexcept; std::string readFile(const std::string&) noexcept(false); const GLuint loadShader(const GLenum&, const std::string&) noexcept(false); const GLuint linkShaderProgram(const std::initializer_list>&) noexcept(false); GLuint loadTexture(const std::string&) noexcept; const std::pair findPlaneBasis(const glm::vec3& normal) noexcept;