opengl 中矩形绘画的代码
时间: 2024-10-13 09:01:21 浏览: 33
移动矩形(图形学)
在OpenGL中绘制矩形通常涉及设置颜色、顶点坐标以及启用相应的渲染模式。这里是一个基本的例子,展示了如何使用GL_QUADS(四边形)绘制一个二维矩形:
```c++
#include <GL/glut.h>
void drawRectangle(float x, float y, float width, float height) {
// 设置颜色
glColor3f(1.0, 0.0, 0.0); // 红色
// 定义矩形的顶点坐标
GLfloat vertices[] = {
x, y, // 左上角
x + width, y, // 右上角
x + width, y + height, // 右下角
x, y + height // 左下角
};
// 开启顶点数组模式并指定数据
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
// 使用GL_QUADS绘制
glDrawArrays(GL_QUADS, 0, 4); // 四个顶点描述一个矩形
// 关闭顶点数组模式
glDisableClientState(GL_VERTEX_ARRAY);
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutCreateWindow("OpenGL Rectangle");
glEnable(GL_DEPTH_TEST); // 深度测试
while (!glutDone()) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清屏
drawRectangle(50, 50, 100, 75); // 绘制位置和大小自定义
glutSwapBuffers(); // 交换缓冲区,完成绘制
}
return 0;
}
```
在这个例子中,`drawRectangle`函数接受四个参数:矩形左上角的x和y坐标,以及矩形的宽度和高度。然后通过设置顶点数组,并利用`glDrawArrays`来绘制矩形。
阅读全文