glClearBuffer* clarification

glClearBuffer* clarification

本文关键字:clarification glClearBuffer      更新时间:2023-10-16

我目前使用glClearBuffer*函数来清除在OpenGL ES 3.0中运行的项目中的绘制缓冲区。glClearBuffer文档声明如下:

glClearBufferfvglClearBufferivglClearBufferuiv命令应分别用于清除定点、有符号整数和无符号整数颜色缓冲区。

我这样理解对吗?

如果绘制缓冲区为GL_FLOAT类型则使用glClearBufferfv
如果绘制缓冲区为GL_INT类型,则使用glClearBufferiv
如果绘制缓冲区为GL_UNSIGNED_INT类型,则使用glClearBufferuiv

正确吗?我问,因为没有提及(从我可以告诉)关于正确的方式来清除其他类型的绘制缓冲区,如GL_BYTEGL_UNSIGNED_BYTE

谢谢!

fv版本应该用于具有规范化或浮点图像格式的缓冲区。ivuiv版本应该用于有符号和无符号整数格式的缓冲区。

这并没有将它们限制为特定的格式,而是一般的类别格式。GL_RGBA8UI是一个无符号整数格式,GL_R32UI也是。

GL_INT不是任何类型的图像格式。