C++ 如何使用Qt3D渲染现有OpenGL纹理

C++ 如何使用Qt3D渲染现有OpenGL纹理,c++,opengl,video,render-to-texture,qt3d,C++,Opengl,Video,Render To Texture,Qt3d,我需要使用Qt3D在QtQuick应用程序中渲染本机预渲染OpenGL纹理 我使用cuda将场景实时渲染为绑定到帧缓冲区的纹理。然后我想在qml场景中显示渲染纹理 似乎,我必须以某种方式介入渲染过程,并在纹理GLuint上调用glBindTexture() 当然有一个解决方法,我可以将纹理从视频内存加载到一些缓冲区,然后创建QTexture2D并使用QTextureImageDataGenerator提供数据。但它似乎效率很低 因此,问题是如何在Qt3D渲染管道中绑定现有纹理。如果我理解正确,您

我需要使用Qt3D在QtQuick应用程序中渲染本机预渲染OpenGL纹理

我使用cuda将场景实时渲染为绑定到帧缓冲区的纹理。然后我想在qml场景中显示渲染纹理

似乎,我必须以某种方式介入渲染过程,并在纹理GLuint上调用glBindTexture()

当然有一个解决方法,我可以将纹理从视频内存加载到一些缓冲区,然后创建QTexture2D并使用QTextureImageDataGenerator提供数据。但它似乎效率很低


因此,问题是如何在Qt3D渲染管道中绑定现有纹理。

如果我理解正确,您希望使用Qt3D在纹理上显示视频

在你的资料中有一个例子,它正是这样做的:

<QT_PATH>\5.13.0\Src-Qt5.13.0\qt3d\tests\manual\video-texture-qml
\5.13.0\Src-Qt5.13.0\qt3d\tests\manual\video texture qml
您所说的视频内存是来自保存的视频还是实时数据?你能解释一下吗?(回答:使用cuda实时访问帧缓冲区)

编辑: 看看
他们添加了对在Qt13.0中的Qt 3D场景中使用单独OpenGL上下文中的textureId的支持。我自己还没用过

如果我理解正确,您希望使用Qt3D在纹理上显示视频

在你的资料中有一个例子,它正是这样做的:

<QT_PATH>\5.13.0\Src-Qt5.13.0\qt3d\tests\manual\video-texture-qml
\5.13.0\Src-Qt5.13.0\qt3d\tests\manual\video texture qml
您所说的视频内存是来自保存的视频还是实时数据?你能解释一下吗?(回答:使用cuda实时访问帧缓冲区)

编辑: 看看
他们添加了对在Qt13.0中的Qt 3D场景中使用单独OpenGL上下文中的textureId的支持。我自己还没用过

到目前为止你都试了些什么?您的问题不清楚。现在我正在尝试使用QQuickFrameBufferObjectObject,您到目前为止尝试了什么?你的问题不清楚。现在我正在尝试使用QQuickFrameBufferObjective,这不是视频。实际上,我使用cuda将场景实时渲染到绑定到帧缓冲区的纹理。然后我想在qml场景中显示渲染纹理。它不是视频。实际上,我使用cuda将场景实时渲染到绑定到帧缓冲区的纹理。然后我想在qml场景中显示渲染纹理。