我一直试图找到一个解决方案,将QtQuick 2.0场景与Direct3D场景一起使用很长一段时间,但不是很成功。我的目标是让Direct3D引擎以合理的速度(60 FPS?)与QML UI一起运行。这两件事都可以自己运行150-200 FPS。但是当被迫在一个窗口内合作时,一切都只是香蕉。我调查过几种方法,但似乎没有一种方法足够:
解决方案A:将Direct3D场景渲染到纹理中,使用QImage& QQuickPaintedItem
解决方案B:将QtQuick场景渲染到FBO中,然后使用Direct3D纹理
解决方案C:在具有Direct3D场景的QWidget上启用透明度的QQuickView
解决方案X:修改ANGLE库并尝试提取&与我的Direct3D渲染器共享D3D设备上下文
我明显的问题是:我做错了吗?什么是首选解决方案? A,B,C,X或者可能是完全不同的东西?有人能指出我正确的方向吗?
TL; DR: 在Direct3D场景之上渲染QML场景的最快方法是什么?
答案 0 :(得分:1)
听起来你理想情况下想要一个混合解决方案X并自己写一个DirectX QPA插件。
http://qt-project.org/wiki/Qt-Platform-Abstraction
如果你打开这样的努力,我会打赌你会结识很多朋友!!