Windows10+VS2019+OpenGL安装配置详解-CSDN博客

傻瓜式配置freeglut(我是傻瓜) - 知乎 (zhihu.com)

【计算机图形学】【笔记】3、GLUT的安装_libfreeglut.a-CSDN博客

https://www.bilibili.com/video/BV1NR4y1J7EZ/ opengl+vs19的配置

不用求值器绘制双二次及双三次Bezier曲面_双二次bezier曲面知乎-CSDN博客

计图

https://github.com/KoonanHyakukeiZu/2020-ZJUCG-Final-Project

https://www.bilibili.com/video/BV1Hy4y1p76d/

#include <GL/glut.h> // 使用OpenGL工具包

// 旋转角度 GLfloat angle = 0.0f;

void init(void) { glClearColor(0.0, 0.0, 0.0, 0.0); // 设置清屏颜色为黑色 glShadeModel(GL_SMOOTH); // 设置着色模式为平滑着色 glEnable(GL_DEPTH_TEST); // 启用深度测试 glDepthFunc(GL_LEQUAL); // 指定深度测试函数 }

void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除颜色缓冲区和深度缓冲区 glLoadIdentity(); // 重置模型视图矩阵

glTranslatef(0.0f, 0.0f, -5.0f); // 将茶壶移至屏幕内(-5.0f表示在屏幕内部)

glRotatef(angle, 1.0f, 1.0f, 1.0f); // 绕 x、y、z 轴旋转
glutWireTeapot(1.0); // 绘制茶壶

glutSwapBuffers(); // 切换缓冲区,显示绘制内容

}

void reshape(int w, int h) { glViewport(0, 0, (GLsizei)w, (GLsizei)h); // 设置视口大小 glMatrixMode(GL_PROJECTION); // 设置投影矩阵 glLoadIdentity(); // 重置投影矩阵 gluPerspective(45.0, (GLfloat)w / (GLfloat)h, 0.1, 100.0); // 设置透视投影 glMatrixMode(GL_MODELVIEW); // 设置模型视图矩阵 glLoadIdentity(); // 重置模型视图矩阵 }

void idle() { angle += 0.1f; // 更新旋转角度 if (angle > 360.0f) { angle -= 360.0f; } glutPostRedisplay(); // 标记窗口为需要重新绘制 }

int main(int argc, char** argv) { glutInit(&argc, argv); // 初始化GLUT库 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); // 设置显示模式 glutInitWindowSize(500, 500); // 设置窗口大小 glutInitWindowPosition(100, 100); // 设置窗口位置 glutCreateWindow("Rotating Teapot"); // 创建窗口,并设置窗口标题

init(); // 初始化

glutDisplayFunc(display); // 设置显示回调函数
glutReshapeFunc(reshape); // 设置重塑回调函数
glutIdleFunc(idle); // 设置空闲回调函数

glutMainLoop(); // 进入GLUT事件处理循环

return 0;

}