Qt3D给圆环等立体图形添加纹理图片

添加纹理图片,首先需要自己找一个纹理图,当然了,随便什么图片都行。

创建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);
相关推荐
Gofarlic_OMS2 小时前
ANSYS许可证使用合规性报告自动化生成方案
大数据·运维·人工智能·3d·自动化·云计算
奋斗的小青年!!2 小时前
Flutter与鸿蒙深度融合:打造物理引擎驱动的3D卡片交互体验
flutter·3d·harmonyos·鸿蒙
hakuii5 小时前
3dgs学习有感
学习·3d
一碗姜汤5 小时前
【3DCV】Re10K数据集:抽帧处理、数据类构造
3d·音视频
UnderTurrets5 小时前
From_Diffusion_to_GSFix3D
人工智能·计算机视觉·3d
军军君011 天前
Three.js基础功能学习七:加载器与管理器
开发语言·前端·javascript·学习·3d·threejs·三维
WebGISer_白茶乌龙桃1 天前
Cesium实现“悬浮岛”式,三维立体的行政区划
javascript·vue.js·3d·web3·html5·webgl
UnderTurrets2 天前
A_Survey_on_3D_object_Affordance
pytorch·深度学习·计算机视觉·3d
Hao_Harrision2 天前
50天50个小项目 (React19 + Tailwindcss V4) ✨| ThreeDBackgroundBoxes(3D背景盒子组件)
前端·3d·typescript·react·tailwindcss·vite7
AI浩3 天前
LabelAny3D: Label Any Object 3D in the Wild
3d