在codeblocks中使用OpenGL画正六边形
时间: 2023-05-15 19:05:10 浏览: 116
可以使用以下代码在 CodeBlocks 中使用 OpenGL 画正六边形:
```c++
#include <GL/glut.h>
#include <math.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
for (int i = 0; i < 6; i++) {
glVertex2f(cos(i * M_PI / 3), sin(i * M_PI / 3));
}
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("Regular Hexagon");
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这段代码使用 OpenGL 绘制一个正六边形,其中 `glBegin(GL_POLYGON)` 表示开始绘制一个多边形,`glVertex2f` 表示绘制多边形的一个顶点,`glEnd()` 表示结束绘制多边形。在 `main` 函数中,我们使用 `glutInit` 初始化 GLUT 库,设置窗口大小和位置,创建窗口,并设置背景色和投影矩阵。最后,我们使用 `glutDisplayFunc` 注册一个回调函数 `display`,用于绘制图形,并使用 `glutMainLoop` 进入 GLUT 的事件循环。
阅读全文