56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
#include "include/glad/glad.h"
|
|
#include "include/glfw/glfw3.h"
|
|
|
|
#include <iostream>
|
|
#include "visualization.hpp"
|
|
|
|
|
|
GLFWwindow* initWindow() {
|
|
// return nullptr because of GLFWwindow datatype
|
|
// set to openGL 3 atleast
|
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
|
|
|
// initialize glfw, check for success
|
|
if (!glfwInit()) {
|
|
std::cerr << "GLFW initialization failed" << std::endl;
|
|
return nullptr;
|
|
} else {
|
|
std::cerr << "GLFW initialization SUCCESS" << std::endl;
|
|
}
|
|
|
|
// create the window
|
|
GLFWwindow* window = glfwCreateWindow(1280, 720, "Body Tracking Visualizer", NULL, NULL);
|
|
if (!window){
|
|
std::cerr << "GLFW window creation failed" << std::endl;
|
|
glfwTerminate();
|
|
return nullptr;
|
|
} else {
|
|
std::cerr << "GLFW window creation SUCCESS" << std::endl;
|
|
}
|
|
|
|
// set the window context current
|
|
glfwMakeContextCurrent(window);
|
|
|
|
// initialize GLAD
|
|
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){
|
|
std::cerr << "GLAD initialization failed" << std::endl;
|
|
return nullptr;
|
|
} else {
|
|
std::cerr << "GLAD initialization SUCCESS" << std::endl;
|
|
}
|
|
|
|
|
|
|
|
// glViewport could be added here to make the display area smaller than the actual windowsize
|
|
// with callbacks to automatically adjust if the user changes size
|
|
|
|
|
|
|
|
// vsync
|
|
glfwSwapInterval(1);
|
|
|
|
return window;
|
|
}
|