COSC-3P98-Final-Project/include/render/window.h

50 lines
1.0 KiB
C++

/*
* Created by Brett Terpstra 6920201 on 16/01/23.
* Copyright (c) Brett Terpstra 2023 All Rights Reserved
*/
#ifndef FINAL_PROJECT_WINDOW_H
#define FINAL_PROJECT_WINDOW_H
#ifndef FP_FAR_PLANE
#define FP_FAR_PLANE 1000.0f
#define FP_NEAR_PLANE 0.1f
#endif
// emscripten provides its own gl bindings.
#ifndef __EMSCRIPTEN__
#include <glad/gles2.h>
#endif
#include <GLFW/glfw3.h>
#include <blt/std/math.h>
namespace fp::window {
/**
* Handles all the init setup for creating a GLFW window.
* @param width width of the window
* @param height height of the window
*/
void init(int width = 1440, int height = 720);
void update();
void close();
bool isCloseRequested();
GLFWwindow* getWindow();
bool isKeyPressed(int key);
bool isMousePressed(int button);
bool mouseState();
bool keyState();
const blt::mat4x4& getPerspectiveMatrix();
void setFOV(float new_fov);
}
#endif //FINAL_PROJECT_WINDOW_H