OpenGL.Qt551.问题

OpenGL.Qt551.问题,第1张

概述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"

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.问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1079657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存