在codeblock中使用OpenGL画正六边形
时间: 2023-05-15 21:05:12 浏览: 71
可以使用以下代码来在 CodeBlocks 中使用 OpenGL 画正六边形:
```c++
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.25, -0.75);
glVertex2f(0.25, -0.75);
glVertex2f(0.5, -0.5);
glVertex2f(0.25, -0.25);
glVertex2f(-0.25, -0.25);
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
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;
}
```
这段代码使用了 GLUT 库来创建窗口和处理事件,使用了 OpenGL 的基本绘图函数来画出正六边形。在 `display` 函数中,我们使用 `glBegin` 和 `glEnd` 函数来定义一个多边形,并使用 `glVertex2f` 函数来指定多边形的各个顶点的坐标。在 `main` 函数中,我们初始化了 GLUT 库,设置了窗口的大小和标题,以及注册了 `display` 函数来处理窗口的绘制事件。最后,我们调用了 `glutMainLoop` 函数来启动 GLUT 的事件循环,等待用户的输入和操作。