fbo

    1热度

    1回答

    我需要为FBO绘制几个“半透明”的图层(用于以后的回读)。 我目前的做法是创建一个FBO,附加一个纹理,并使用glTexSubImage2D来“绘制”位图到FBO,但是,这不起作用,因为glTexSubImage2D不绘制/混合像素,但只是覆盖纹理中当前的像素。 这样做的最好方法是什么?

    0热度

    1回答

    我一直试图呈现给FBO并将两个FBO呈现给屏幕,但在两个FBO的合并处理中未能成功进行深度测试。我尝试将纹理与计算着色器合并,但我无法读取深度纹理的值(所有值均为值1,但在渲染到FBO时深度测试正在工作)。有人知道我做错了什么,或知道其他方法来合并两个FBO的? 这是我创建的FBO: struct FBO { uint color; uint depth; uint

    1热度

    1回答

    我在这里是因为我正在开发一个OpenGL程序,并且我遇到了一些性能问题。我在iMX6 soc上使用OpenGL ES 3.0。 这里是我的算法: 我从相机被直接映射到纹理获取的图像。 使用FBO,我渲染到纹理以映射特定窗体上的图像。 我做其通过另一应用程序通过共享存储器发送用于另一图像同样的事情(与第二FBO)。仅当图像更新时才执行此步骤。每秒只有一次。 我在默认帧缓冲器混合这两种纹理渲染结果到屏

    1热度

    1回答

    这种行为的标准原因是什么?我有2个相同的缓冲区,其中有2个网格物体,带有预乘alpha和alpha背景:第一个物体在背景上,但第二个物体在这个alpha背景上移动时留下物体。我不明白为什么! FBO的是相似的。 谢谢!

    1热度

    1回答

    所推荐的Matic Oblak 一旦FBO是设置和渲染到这个问题是一个跟进 the original question,如何被渲染的图像提供回默认渲染缓冲器并显示在缩放版。 -(void)setupFBO { glGenTextures(1, &tex); glBindTexture(GL_TEXTURE_2D, tex); glTexParameteri(GL_TEXTURE_2D, GL

    1热度

    1回答

    我想使用pbo来保存图像,而不是使用cpu。所以我没有在glreadpixels中使用bytebuff,并且使用了GLOBE30,GLES30.GL_UNSIGNED_BYTE,NULL); 但它不能工作... 这是我定的FBO和PBO代码: GLES30.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); GLES30.glEnable(GLES30.GL_

    0热度

    2回答

    我一直在尝试在使用GLES 3的应用程序中实现渲染到纹理的方法,并且我已经得到了它的工作原理,但我对帧频下降有点失望。 到目前为止,我们已经直接渲染到主FBO,它是使用EGL_SAMPLES = 8创建的多重采样FBO。 我基本上想要的是能够获得已经绘制的像素,而我仍然在绘制。所以我认为渲染纹理的方法应该做到这一点。然后,我只需要阅读屏幕外FBO的纹理部分,当我完成渲染时,我会将整个内容粘贴到主F

    0热度

    1回答

    我有一个MS FBO有3个附加的MS纹理和nonMS FBO也有3个附带的nonMS纹理。有没有办法如何blit?如果我完全FBO的FBO,MS FBO将它结合在一个纹理中,这是行不通的。如何分开制作? 谢谢。

    1热度

    2回答

    我想呈现给FBO,然后在OpenGL/LWJGL中进行屏幕显示,并得到奇怪的结果。 如果直接渲染到帧缓冲区我的现场工作得很好,看起来像这样: 但是当我渲染到FBO,然后到一到四的默认帧缓冲区,我得到这个: 貌似所有的图像中的颜色以单一颜色取平均值,就好像屏幕已被清除。 我的猜测是,quad上的纹理采样有问题,但我无法弄清楚。 显然,四分之四是因为我看到glPolymode - GL_LINE的边缘

    1热度

    2回答

    我正在通过渲染传递到FrameBufferObject,以便我可以在下一个渲染过程中将结果用作纹理。看教程,我需要调用: glBindFramebuffer(GL_TEXTURE2D, mFrameBufferObjectID); glViewport(0, 0, mWidth, mHeight); 其中mWidth和mHeight是帧缓冲区对象的宽度和高度。似乎没有这个glViewport