#include #include #include void LogGLFWerror() { const char* error = new const char; glfwGetError(&error); std::cerr << error << std::endl; } void FramebufferSizeCallback(GLFWwindow* window, int w, int h) { glViewport(0, 0, w, h); } int main(int argc, char** argv) { glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); GLFWwindow* window; window = glfwCreateWindow(800, 800, "Complex Plot", NULL, NULL); if (window == nullptr) { LogGLFWerror(); return -1; } glfwMakeContextCurrent(window); if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) { std::cerr << "GLAD failed to initialize" << std::endl; return -1; } glViewport(0, 0, 800, 800); glfwSetFramebufferSizeCallback(window, FramebufferSizeCallback); while (!glfwWindowShouldClose(window)) { glfwPollEvents(); glClearColor(0.4f, 0.1f, 0.5f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glfwSwapBuffers(window); } return 0; }