用opengl画圆具体操作
时间: 2023-10-07 10:11:28 浏览: 130
使用opengl绘制圆
下面是使用OpenGL绘制圆的一些基本操作:
1. 设置画布和视口大小:
```c++
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
glViewport(0, 0, width, height);
```
其中,glClearColor函数用于设置清除画布时使用的颜色,glClear函数用于清除画布,glViewport函数用于设置视口的大小。
2. 设置投影矩阵:
```c++
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
float aspect = (float)width / (float)height;
glOrtho(-1.0f * aspect, 1.0f * aspect, -1.0f, 1.0f, -1.0f, 1.0f);
```
其中,glMatrixMode函数用于设置当前矩阵模式为投影矩阵,glLoadIdentity函数用于将当前矩阵重置为单位矩阵,glOrtho函数用于设置正交投影矩阵。
3. 绘制圆:
```c++
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.5f, 0.5f, 0.0f);
glColor3f(1.0f, 1.0f, 1.0f);
glBegin(GL_TRIANGLE_FAN);
glVertex2f(0.0f, 0.0f);
for (int i = 0; i <= 360; i++)
{
float angle = 2.0f * 3.1415926f * i / 360.0f;
float x = cosf(angle);
float y = sinf(angle);
glVertex2f(x, y);
}
glEnd();
```
其中,glMatrixMode函数用于设置当前矩阵模式为模型视图矩阵,glLoadIdentity函数用于将当前矩阵重置为单位矩阵,glTranslatef函数用于将绘制的圆形移动到画布中心,glColor3f函数用于设置绘制颜色,glBegin函数用于开始绘制几何图形,glVertex2f函数用于绘制顶点,glEnd函数用于结束绘制。
以上是绘制圆的基本操作,你可以根据需要调整圆的大小、颜色和位置等参数。
阅读全文