我目前使用glClearBuffer*
函数来清除在OpenGL ES 3.0中运行的项目中的绘制缓冲区。 glClearBuffer documentation声明如下:
glClearBufferfv , glClearBufferiv 和 glClearBufferuiv 命令应分别用于清除定点,有符号整数和无符号整数颜色缓冲区
我是否理解如下:
如果绘制缓冲区为glClearBufferfv
类型
,请使用GL_FLOAT
如果绘制缓冲区为glClearBufferiv
类型
,请使用GL_INT
如果绘制缓冲区为glClearBufferuiv
类型
GL_UNSIGNED_INT
这是对的吗?我问,因为没有提及(据我所知)关于清除其他类型的绘图缓冲区的正确方法,例如GL_BYTE
和GL_UNSIGNED_BYTE
。
谢谢!
答案 0 :(得分:2)
fv
版本应该用于normalized or floating-point image formats的缓冲区。 iv
和uiv
版本应该用于带有符号和无符号整数格式的缓冲区。
这不会将它们限制为特定格式,而是限制格式的一般类别。 GL_RGBA8UI
是无符号整数格式,GL_R32UI
也是。
GL_INT
不是任何图像格式。