如何将Qt4 QPixmap渲染到Ogre 3D纹理或网格?请告知

如何将Qt4 QPixmap渲染到Ogre 3D纹理或网格?请告知,qt4,ogre3d,Qt4,Ogre3d,首先,如果我的问题听起来既原始又愚蠢,请原谅我。 我主要是C.NET和数据库开发人员,但我是Ogre3D的新手,我的Qt4/C++开发经验也相当有限 我有一段代码,它将一个定制的Qt4小部件作为QWidget的子类呈现到QPixmap上,并且我必须在Ogre3D表面上显示它 几天来,我一直在阅读最新的Ogre3D书籍并搜索QWidget-to-Ogre3D代码示例,但找不到如何做到这一点 我假设我需要以某种方式从QPixmap手动创建一个纹理,或者可能是一个网格,保存为带有PNG或BMP选项的字

首先,如果我的问题听起来既原始又愚蠢,请原谅我。 我主要是C.NET和数据库开发人员,但我是Ogre3D的新手,我的Qt4/C++开发经验也相当有限

我有一段代码,它将一个定制的Qt4小部件作为QWidget的子类呈现到QPixmap上,并且我必须在Ogre3D表面上显示它

几天来,我一直在阅读最新的Ogre3D书籍并搜索QWidget-to-Ogre3D代码示例,但找不到如何做到这一点

我假设我需要以某种方式从QPixmap手动创建一个纹理,或者可能是一个网格,保存为带有PNG或BMP选项的字节数组,但是我在尝试如何做到这一点时遇到了困难

有人能给我指一下正确的方向吗

事先非常感谢

以下是我目前拥有的:

m_currentGraph->setFixedSizeQSizeWIDTH,高度

油漆工

结束,

QPixmap pixmapWIDTH、HEIGHT

m_currentGraph->渲染&pixmap

QByteArray字节

QBuffer&bytes

openQIODevice::WriteOnly

pixmap.save&buffer,PNG;//将pixmap写入PNG格式的字节


//如何将其渲染到Ogre3D???

如果需要访问实际图像数据,则需要使用QImage类而不是QPixmap。QImage为您提供了对像素进行操作的API,而不是对整个图像进行操作。因此,您可以执行以下任一操作:

1调用QPixmap::toImage将您的pixmap转换为QImage,这可能需要花费相当昂贵的资源

2由于QImage是类似QPixmap的Qpaint设备,您可以更改代码以在QImage而不是QPixmap上呈现小部件

要访问实际字节,可以使用QImage::bits方法


希望这能有所帮助。

很抱歉,我的问题表达不正确,因此存在误解。我已经有了QByteArray中的图像字节。我要做的是将这些字节渲染成Ogre3D。谢谢。我刚刚添加了我目前拥有的代码片段,并尝试在Ogre3D中显示,好的,很抱歉,我还没有使用Ogre3D。它是一个用于多种桌面和移动平台的3D库,与诺基亚的Qt工具集没有任何关系。虽然它可能支持qtapi,但并不意味着它是Qt框架的一部分。我建议您在Ogre3D分支中发布这个问题,建议一些标准化的数据交换格式,可能是一组字节,并询问如何使用Ogre3D呈现这些格式。