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);
相关推荐
多恩Stone3 小时前
【3DV 进阶-7】Hunyuan3D2.1-ShapeVAE 整体流程
3d
HahaGiver6669 小时前
Unity Shader Graph 3D 实例 - 一个简单的红外线扫描全身效果
3d·unity·游戏引擎
3DVisionary9 小时前
XTDIC-SPARK高速3D测量系统在电子产品跌落测试中的动态变形与可靠性评估
3d·电视盒子·xtdic-spark·跌落测试·高速三维测量·动态变形分析·电子产品可靠性
qiaochuanbiao1 天前
宁波教师巧用3D技术,打造互动几何课堂:动态观察正方体组合,让空间想象触手可及
3d·信息可视化·webos·文汇百川
杀生丸学AI1 天前
【动态高斯重建】论文集合:从4DGT到OMG4、4DSioMo
人工智能·3d·aigc·三维重建·视觉大模型·动态高斯
众趣科技1 天前
当消防安全遇见数字孪生:一场防患于未“燃”的科技革命
3d·vr·空间计算
柒儿吖1 天前
Qt for HarmonyOS 3D图片轮播组件开源鸿蒙开发实战
qt·3d·harmonyos
3DVisionary1 天前
蓝光3D扫描仪在汽车模具质量控制中的应用:提升金属与注塑模具的尺寸检测效率
3d·金融·蓝光三维扫描·汽车模具·3d尺寸检测·逆向工程/质量控制·注塑与冶金
Jonathan Star1 天前
基于 **Three.js** 开发的 3D 炮弹发射特效系统
javascript·数码相机·3d
三条猫1 天前
AI 大模型如何给 CAD 3D 模型“建立语义”?
人工智能·机器学习·3d·ai·大模型·cad