在DirectX中使用Qt?

我的select到底是什么? 我有我需要在OpenGL和DirectX中编写的 程序 ,我想使用Qt for OpenGL,而不必为我的任务的DirectX组件重新实现一半的程序。

我已经看过谷歌,我发现人们抱怨Direct3D是Qt的依赖,人们讨论如何实现QD3DWidget子类QWidget类似的方式QGLWidget,但没有人谈到如何实现它或任何地方例子是。

我需要帮助。 我想知道是否有可能? 我需要做些什么才能使它工作? 之前已经完成了吗?

Solutions Collecting From Web of "在DirectX中使用Qt?"

它比我想象的简单,

-> Create a QWidget -> Override paintEngine() method, does nothing, just returns NULL -> Assign HWND to widget->winId() #ifdef USE_QTGUI QApplication a(argc, argv); CD3DWidget wndw; wndw.show(); wndw.resize(1280,960); hWnd = wndw.winId(); #else hWnd = CreateAppWindow(name,300,300); #endif //CD3DWidget class contains only the following definitions CD3DWidget::CD3DWidget(QWidget * parent):QWidget(parent){ } QPaintEngine *CD3DWidget::paintEngine (){ return NULL; } 

谢谢,

简历

更改列表:

Qt 4.6在4.5.x系列中引入了许多新功能和改进以及错误修正。

………………….

  • 实验Direct3D涂料引擎已被删除。 原因是诺基亚专注于桌面硬件加速渲染的OpenGL。

………………….

对于所有的价值, 这里是如何获得Ogre3D的输出到Qt 4.5窗口 。 基本上,你抓住一个渲染表面,你用它来渲染输出。 这是“D3D / OpenGL应用程序方法中的Qt”。

这里是使用OpenGL窗口Qt 4.5的 OpenGL示例。

如果我理解正确,Direct3D支持是实验性的, 只用于绘制窗口 。