#include #include #include void display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glColor3f(1.0, 0.0, 0.0); glVertex2f(-0.5, -0.5); glColor3f(0.0, 1.0, 0.0); glVertex2f(0.5, -0.5); glColor3f(0.0, 0.0, 1.0); glVertex2f(0.0, 0.5); glEnd(); glFlush(); } void framebuffer_size_callback(GLFWwindow* window, int width, int height) { glViewport(0, 0, width, height); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(800, 600); glutCreateWindow("OpenGL Example"); GLenum err = glewInit(); if (GLEW_OK != err) { fprintf(stderr, "GLEW error: %s\n", glewGetErrorString(err)); return 1; } glViewport(0, 0, 800, 600); glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); glutDisplayFunc(display); glutMainLoop(); return 0; }