使用glBegin方法绘制三角形,可选模式有GL_TRIANGLES 、GL_TRIANGLE_STRIP 和 GL_TRIANGLE_FAN,使用glColor3f控制相关颜色,至少画出3个不同的三角形;
时间: 2024-10-17 21:13:29 浏览: 60
在OpenGL编程中,`glBegin()`函数用于开始指定类型的图形序列。以下是使用`glBegin()`创建三个不同三角形的步骤:
1. **使用GL_TRIANGLES**:
```c++
glBegin(GL_TRIANGLES); // 开始绘制三角形列表
glColor3f(1.0, 0.0, 0.0); // 设置红色
glVertex3f(0.0, 0.5, 0.0); // 第一个顶点
glVertex3f(0.5, -0.5, 0.0); // 第二个顶点
glVertex3f(-0.5, -0.5, 0.0); // 第三个顶点
glEnd(); // 结束当前图形序列
2. **使用GL_TRIANGLE_STRIP**:
```c++
glBegin(GL_TRIANGLE_STRIP); // 开始绘制三角形扇形
glColor3f(0.0, 1.0, 0.0); // 绿色
glVertex3f(0.0, 0.0, 0.0); // 第一个顶点
glVertex3f(1.0, -0.5, 0.0);
glVertex3f(0.8, -1.5, 0.0);
glVertex3f(-0.8, -1.5, 0.0); // 继续添加顶点直到形成封闭路径
glEnd();
3. **使用GL_TRIANGLE_FAN**:
```c++
glBegin(GL_TRIANGLE_FAN); // 开始绘制辐射状三角形
glColor3f(0.0, 0.0, 1.0); // 蓝色
glVertex3f(0.0, 0.0, 0.0); // 圆心点
glVertex3f(0.5, 0.866, 0.0); // 首个扇形边
glVertex3f(-0.5, 0.866, 0.0);
glVertex3f(-0.5, -0.866, 0.0);
glVertex3f(0.5, -0.866, 0.0); // 添加更多的扇形边
glEnd();
```
每种模式下都通过`glColor3f()`设置了对应的颜色,然后使用`glVertex3f()`指定每个顶点的位置。
阅读全文