glDrawArrays 画矩形时填充
时间: 2023-05-24 09:04:15 浏览: 89
glDrawArrays函数本身不会填充矩形,它只是用来渲染顶点数组中的几何图形。要填充矩形,您需要在顶点数组中添加足够的顶点来定义矩形的四个角以及可能存在的纹理坐标,并将渲染模式设置为GL_TRIANGLES或GL_TRIANGLE_STRIP。
例如,以下是使用glDrawArrays函数填充矩形的示例代码(使用OpenGL ES 2.0):
```c++
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 // 右上角
};
GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; // 绘制两个三角形
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, vertices);
glEnableVertexAttribArray(0);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
```
此代码将定义一个矩形,并使用glDrawArrays函数绘制它。请注意,vertices数组中定义了矩形的四个角,并通过indices数组定义了使用这四个角创建的两个三角形。渲染模式设置为GL_TRIANGLES,这将告诉OpenGL使用三角形绘制这个几何形状。
请注意,上述示例并没有使用纹理坐标,这意味着矩形仅仅会被填充为单色。如果您需要为矩形添加纹理,请相应地更新vertices数组以及渲染代码。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)