在glCopyTexImage1D()OpenGL 3.3中使用GL_RGB10_A2UI内部格式
我正在glCopyTexImage1D()API中使用GL_RGB10_A2UI内部格式,但获取GL_无效_操作错误。OpenGL 3.3是否支持glCopyTexImage1D()中的GL_RGB10_A2UI?在glCopyTexImage1D()OpenGL 3.3中使用GL_RGB10_A2UI内部格式,opengl,opengl-3,Opengl,Opengl 3,我正在glCopyTexImage1D()API中使用GL_RGB10_A2UI内部格式,但获取GL_无效_操作错误。OpenGL 3.3是否支持glCopyTexImage1D()中的GL_RGB10_A2UI?GL_RGB10_A2UI是一个;它包含整数,而不是存储为整数的规范化浮点值。因此,除非您的帧缓冲区还包含无符号整数值,否则此复制操作将失败并出现预期错误 当然,帧缓冲区具有无符号整数(而不是通常情况下的无符号规范化整数)的唯一方法是使用FBO。在这种情况下,您可以直接渲染到该纹理,而
GL_RGB10_A2UI
是一个;它包含整数,而不是存储为整数的规范化浮点值。因此,除非您的帧缓冲区还包含无符号整数值,否则此复制操作将失败并出现预期错误
当然,帧缓冲区具有无符号整数(而不是通常情况下的无符号规范化整数)的唯一方法是使用FBO。在这种情况下,您可以直接渲染到该纹理,而不需要从该纹理进行复制
我猜您可能打算使用表示无符号规范化值的
GL\u RGB10\u A2
。如果您使用的是OpenGL 3.x,为什么不从一开始就渲染到该纹理?我想使用的是GL\u RGB10\u A2UI,而不是GL\u RGB10\u A2。因此,即使我使用FBO,我也不会调用glCopyTexImageD()来读取缓冲区内容。我知道这是不必要的,但我在玩弄API。是否没有其他方法可以使用GL_RGB10_A2UI调用glCopyTexImageD()@maverick9888:您正在读取的源是否包含无符号整数?如果不行,那就不行。