Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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
C++ 将OpenGL应用程序与Qt集成?_C++_Linux_Qt_Opengl - Fatal编程技术网

C++ 将OpenGL应用程序与Qt集成?

C++ 将OpenGL应用程序与Qt集成?,c++,linux,qt,opengl,C++,Linux,Qt,Opengl,我对使用OpenGL还不熟悉,不知道gl上下文和类似的工作原理,所以我觉得很难接受。我有一个应用程序,用C++编写的,用于Linux,我希望能够在全屏模式下运行我的机器,然后我想在QT中创建另一个应用程序,在其他应用程序渲染的同一个窗口上渲染。我还希望能够将数据从OpenGL应用程序发送到Qt应用程序,然后再发送回来 我如何才能完成这些任务,最好将应用程序分开,还是让Qt包装其他应用程序的gl上下文更容易 我发现了一些可能有用的链接,但现在它们已经超出了我的理解范围,我需要一些指导: 如

我对使用OpenGL还不熟悉,不知道gl上下文和类似的工作原理,所以我觉得很难接受。我有一个应用程序,用C++编写的,用于Linux,我希望能够在全屏模式下运行我的机器,然后我想在QT中创建另一个应用程序,在其他应用程序渲染的同一个窗口上渲染。我还希望能够将数据从OpenGL应用程序发送到Qt应用程序,然后再发送回来

我如何才能完成这些任务,最好将应用程序分开,还是让Qt包装其他应用程序的gl上下文更容易

我发现了一些可能有用的链接,但现在它们已经超出了我的理解范围,我需要一些指导:


如果您想共享纹理、vbo等。。。由OpenGL操作的,则必须在同一应用程序中创建每个上下文


否则,如果您想将其他数据发送到其他应用程序,这是IPC案例,如果您想共享纹理、vbo等,您可以阅读

。。。由OpenGL操作的,则必须在同一应用程序中创建每个上下文


否则,如果您想将其他数据发送到其他应用程序,这是IPC案例,如果您想共享纹理、vbo等,您可以阅读

。。。由OpenGL操作的,则必须在同一应用程序中创建每个上下文


否则,如果您想将其他数据发送到其他应用程序,这是IPC案例,如果您想共享纹理、vbo等,您可以阅读

。。。由OpenGL操作的,则必须在同一应用程序中创建每个上下文


否则,如果您想将其他数据发送到其他应用程序,这是一个IPC案例,您可以阅读

我不知道在Linux上使用两个应用程序如何实现。 在Windows上,我知道这是不可能的,在这个意义上,你将在屏幕的底部有一个窗口栏,你将不得不强迫QT窗口保持在一切之上。这不是很实用,但如果只有这两个应用程序在运行,它就可以了

使用两个应用程序的另一个解决方案是在一个无边界标题栏窗口中运行OpenGL one,设置为屏幕分辨率的大小。但是,您仍然需要管理第二个应用程序windows才能保持在第一个应用程序之上,这仍然不实用


因此,从您正在绘制的上下文来看,最好的解决方案似乎是只创建一个应用程序。使用QT,您可以在其上呈现一些OpenGL和一些qwidget。甚至可以在OpenGL上使用QGraphicsView并使用QML。但是,如果使用过多的透明度,可能会导致性能下降。

我不知道在Linux上使用两个应用程序怎么可能。 在Windows上,我知道这是不可能的,在这个意义上,你将在屏幕的底部有一个窗口栏,你将不得不强迫QT窗口保持在一切之上。这不是很实用,但如果只有这两个应用程序在运行,它就可以了

使用两个应用程序的另一个解决方案是在一个无边界标题栏窗口中运行OpenGL one,设置为屏幕分辨率的大小。但是,您仍然需要管理第二个应用程序windows才能保持在第一个应用程序之上,这仍然不实用


因此,从您正在绘制的上下文来看,最好的解决方案似乎是只创建一个应用程序。使用QT,您可以在其上呈现一些OpenGL和一些qwidget。甚至可以在OpenGL上使用QGraphicsView并使用QML。但是,如果使用过多的透明度,可能会导致性能下降。

我不知道在Linux上使用两个应用程序怎么可能。 在Windows上,我知道这是不可能的,在这个意义上,你将在屏幕的底部有一个窗口栏,你将不得不强迫QT窗口保持在一切之上。这不是很实用,但如果只有这两个应用程序在运行,它就可以了

使用两个应用程序的另一个解决方案是在一个无边界标题栏窗口中运行OpenGL one,设置为屏幕分辨率的大小。但是,您仍然需要管理第二个应用程序windows才能保持在第一个应用程序之上,这仍然不实用


因此,从您正在绘制的上下文来看,最好的解决方案似乎是只创建一个应用程序。使用QT,您可以在其上呈现一些OpenGL和一些qwidget。甚至可以在OpenGL上使用QGraphicsView并使用QML。但是,如果使用过多的透明度,可能会导致性能下降。

我不知道在Linux上使用两个应用程序怎么可能。 在Windows上,我知道这是不可能的,在这个意义上,你将在屏幕的底部有一个窗口栏,你将不得不强迫QT窗口保持在一切之上。这不是很实用,但如果只有这两个应用程序在运行,它就可以了

使用两个应用程序的另一个解决方案是在一个无边界标题栏窗口中运行OpenGL one,设置为屏幕分辨率的大小。但是,您仍然需要管理第二个应用程序windows才能保持在第一个应用程序之上,这仍然不实用

因此,从您正在绘制的上下文来看,最好的解决方案似乎是只创建一个应用程序。使用QT,您可以在其上呈现一些OpenGL和一些qwidget。甚至可以在OpenGL上使用QGraphicsView并使用QML。但是,如果使用过多的透明度,可能会导致性能不佳