Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 5.3。QOpenGLFrameBuffer上的绘画_Qt_Opengl_Qt5_Framebuffer - Fatal编程技术网

Qt 5.3。QOpenGLFrameBuffer上的绘画

Qt 5.3。QOpenGLFrameBuffer上的绘画,qt,opengl,qt5,framebuffer,Qt,Opengl,Qt5,Framebuffer,在Qt5.3(beta版)中,在QOpenGLFrameBuffer上绘画对我来说似乎有点难以捉摸,我只能得到一个黑色图像。(我没有尝试过Qt5的早期版本,但没有发现这方面的任何问题) 四处搜索,我复制了准确的样本 在createImageWIthFBO()结尾之前添加 检查新结果,无需进一步操作,但结果图像为黑色 我错过什么了吗?也许是平台问题?(此处为Win 8.0)问题在于指令格式。setMajorVersion(3),即3应为2,且所有操作均按预期进行。(我想opengl的一些实现在这个

在Qt5.3(beta版)中,在QOpenGLFrameBuffer上绘画对我来说似乎有点难以捉摸,我只能得到一个黑色图像。(我没有尝试过Qt5的早期版本,但没有发现这方面的任何问题)

四处搜索,我复制了准确的样本

在createImageWIthFBO()结尾之前添加

检查新结果,无需进一步操作,但结果图像为黑色


我错过什么了吗?也许是平台问题?(此处为Win 8.0)

问题在于指令
格式。setMajorVersion(3)
,即3应为2,且所有操作均按预期进行。(我想opengl的一些实现在这个细节上更挑剔)

这是测试版。你有没有试过在qt论坛的beta线程中提问?作为该代码的作者,我可以确认它在Linux/NVIDIA 5.2.1、5.3 RC和5.4(即开发分支)上正常工作。按原样复制的代码段是否按预期工作?你有哪个GPU?鉴于它是为5.0编写的,您是否尝试过使用
QOffscreenSurface
(在5.1中添加)而不是不可见的QWindow来修改它?感谢您检查peppe。GPU为NVIDIA GeForce GT 630M。我正在尝试剪贴复制,因为只是添加了两行我开始保存图像,这是什么给产生的黑色图像。我刚刚还尝试了QOffscreenSurface,结果也是一样的。它必须是一些愚蠢的细节…但如果你不修改它,你能看到它按预期绘制吗?我只是想把FBO的问题和图像保存的问题一分为二,明白了!问题的格式为.setMajorVersion(3),一定是2。我在安卓系统中尝试过,但在创建上下文时失败了。接下来,我改为使用QOffscreenSurface,它成功了,因为我从曲面本身获得了格式。现在QWindow也可以在我的Android手机上使用。
  QImage img=fbo.toImage();
  img.save("d:/tmp.jpg");