添加纹理图片,首先需要自己找一个纹理图,当然了,随便什么图片都行。
创建3D图形的主要步骤查看另一篇文章。
这里主要代码如下:
使用QTextureLoader加载图片,图片路径需为qrc:/的路径。
cpp
auto *planeTransform1 = new Qt3DCore::QTransform();
planeTransform1->setTranslation(QVector3D(0, 0, 0));
Qt3DExtras::QTorusMesh *torusMesh = new Qt3DExtras::QTorusMesh;
torusMesh->setRadius(5);
torusMesh->setMinorRadius(1);
torusMesh->setRings(100);
torusMesh->setSlices(20);
// 创建球体实体并添加到根实体
Qt3DCore::QEntity *sphereEntity = new Qt3DCore::QEntity(rootEntity);
Qt3DRender::QTextureImage* textureImage = new Qt3DRender::QTextureImage();
textureImage->setSource(QUrl(":/texture/t.jpg"));
Qt3DExtras::QTextureMaterial* tmaterial = new Qt3DExtras::QTextureMaterial(rootEntity);
// 创建纹理
Qt3DRender::QTextureLoader *textureLoader = new Qt3DRender::QTextureLoader();
textureLoader->setSource(QUrl("qrc:/texture/t.jpg"));
tmaterial->setTexture(textureLoader);
sphereEntity->addComponent(torusMesh);//torusMesh
sphereEntity->addComponent(tmaterial);
sphereEntity->addComponent(planeTransform1);