jjzjj

glBlitFramebuffer

全部标签

c++ - glBlitFramebuffer 无效操作

我一直在摆弄帧缓冲区和渲染到纹理,我发现需要blit它们。在某些机器上,我在glBlitFramebuffer调用之后立即得到一个GL_INVALID_OPERATION。每个绑定(bind)到帧缓冲区的纹理都以完全相同的方式设置,都具有相同的大小和参数。此外,当我尝试将整个纹理(之前成功渲染到)blit到另一个帧缓冲区时,只有要写入的目标“矩形”小于要读取的矩形(例如,当我想将它blit到帧缓冲区的四分之一时屏幕),它也会抛出一个GL_INVALID_OPERATION。编辑:实际上,每当要读取和绘制的矩形具有不同的大小时,它总是会抛出错误,所以我不能blit到不同大小的纹理,或者大

android - OpenGL ES 2.0 中 glBlitFrameBuffer() 的替代方案

我的Android程序必须使用glBlitFrameBuffer()函数来复制FrameBuffer对象。但是glBlitFrameBuffer()函数仅在OpenGLES3.0+设备上受支持。我想支持OpenGLES2.0+设备。这个功能有什么解决方案/替代方案吗? 最佳答案 绑定(bind)用作源帧缓冲区颜色附件的纹理绑定(bind)目标帧缓冲区绘制全屏四边形(如果您需要使用顶点/tex坐标进行拉伸(stretch)或偏移读取操作)从框架着色器中的绑定(bind)纹理中获取数据并将其放入gl_FragColor