1、Qt551 + vs2013 + Win7x64
缘由:将“教程14:渲染到纹理.HTML(http://www.opengl-tutorial.org/cn/intermediate-tutorials/tutorial-14-render-to-texture/)”("E:\OpenGL_something\ogl-master\tutorial14_render_to_texture")中的代码 改成 Qt的(原来是 C++&glfw)
问题:在 使用 帧缓存(Framebuffer)的时候出现问题:在paintGL(...)中 始终无法将图形画到窗口中
解决:使用 自定义的帧缓存的方式是"glBindFramebuffer(GL_FRAMEBUFFER,Framebuffername);",这个是一样的 没区别;但是 在切换到默认窗口帧缓存时,C++&glfw中使用"glBindFramebuffer(GL_FRAMEBUFFER,0);"(GL_NONE),我以为 Qt中也是这样,但是 实际上却是 "glBindFramebuffer(GL_FRAMEBUFFER,context()->defaultFramebufferObject());"...(这里的 context()是qopenglwidget.context())
ZC:glBindFramebuffer(...)的第二个参数 我是从 Qt551源码里面看来的,具体主要搜索看如下4个函数:
QOpenGLFramebufferObjectPrivate::init()QOpenGLFramebufferObject::QOpenGLFramebufferObject(const QSize &size,Attachment attachment,GLenum target,GLenum internal_format)QOpenGLFramebufferObject::bind()
bool QOpenGLFramebufferObject::release()
2、
3、
4、
5、
总结以上是内存溢出为你收集整理的OpenGL.Qt551.问题全部内容,希望文章能够帮你解决OpenGL.Qt551.问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)