glClearBuffer *澄清

时间:2016-10-04 13:47:32

标签: c++ opengl-es

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

  

glClearBufferfv glClearBufferiv glClearBufferuiv 命令应分别用于清除定点,有符号整数和无符号整数颜色缓冲区

我是否理解如下:

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

,请使用GL_UNSIGNED_INT

这是对的吗?我问,因为没有提及(据我所知)关于清除其他类型的绘图缓冲区的正确方法,例如GL_BYTEGL_UNSIGNED_BYTE

谢谢!

1 个答案:

答案 0 :(得分:2)

fv版本应该用于normalized or floating-point image formats的缓冲区。 ivuiv版本应该用于带有符号和无符号整数格式的缓冲区。

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

GL_INT不是任何图像格式。