下面是一个使用OpenGL的glDrawArrays函数绘制长方形的代码实例:
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
// 定义长方形的顶点坐标
GLfloat vertices[] = {
-0.5f, 0.5f, 0.0f, // 左上角
0.5f, 0.5f, 0.0f, // 右上角
-0.5f,-0.5f, 0.0f, // 左下角
0.5f,-0.5f, 0.0f // 右下角
};
// 启用顶点数组功能
glEnableClientState(GL_VERTEX_ARRAY);
// 设置顶点数组数据并指定数据类型和步长(每个顶点占用的字节数)
glVertexPointer(3, GL_FLOAT, 3 * sizeof(GLfloat), vertices);
// 绘制长方形,使用GL_TRIANGLE_STRIP模式
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
// 禁用顶点数组功能
glDisableClientState(GL_VERTEX_ARRAY);
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutCreateWindow("Rectangle Example");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
这段代码定义了一个长方形的四个顶点,并使用glDrawArrays函数以GL_TRIANGLE_STRIP模式绘制出来。注意需要引入OpenGL和GLUT库,并在编译时链接相关库文件。运行该代码,将显示一个带有长方形的窗口。
内容由零声教学AI助手提供,问题来源于学员提问