将OpenGL FBO纹理渲染为GLXPixmap

我正在编写一些代码,旨在:1.使用FBO渲染到OpenGL纹理。 2.从FBO纹理绘制到连接到X Pixmap的GLXPixmap。 3.将X Pixmap绘制到屏幕上的窗口中。

第3步很好,如果我用普通的OpenGL绘图替换FBO纹理,第2步工作正常。

但是,如果我做了上面的事情,至少使用我的代码,这是行不通的。 如果我给GLXPixmap一个彩色背景,并做1-3,屏幕上的窗口变成白色,但是我没有画出任何其他东西。

所以我希望有人可以提供提示,或者指向我一些简单的示例代码。 我得到的代码相当复杂,但如果需要的话,我可以尝试编写一个简单的示例版本来发布此处以供审阅。


如果你的最后两步工作,但不使用你在第一步创建的FBO,你可能会错误地初始化FBO。 有些事情要检查:

  • FBO“framebuffer complete”? 将所有纹理和/或渲染缓冲区附加到它后,使用glCheckFramebufferStatus( GL_FRAMEBUFFER_COMPLETE )进行检查。
  • 你有任何方式来检查FBO后渲染(例如使用glGetTexImage )来确定问题是写入FBO还是从中读取?
  • 你可能已经检查过了,但是值得问一下: glGetError()返回任何错误?
  • 如果所有东西都检查正确,那么发布一些框架设置和渲染代码......虽然越不那么复杂越好,当然=)

    链接地址: http://www.djcxy.com/p/5807.html

    上一篇: Rendering OpenGL FBO Texture to GLXPixmap

    下一篇: Render to texture problem with alpha