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);
相关推荐
我才是银古5 小时前
大坐标、镜像与弦高:.NET CSG 库的工程笔记
3d·cad·csg
创世虚拟世界8 小时前
我做了一个 3D 虚拟世界基底,基于这个再做 3D 虚拟世界或者元宇宙,会事半功倍
javascript·人工智能·3d·gitee·虚拟现实
西红柿炖牛腩35413 小时前
数字孪生大屏场景模型几个 G,Draco 3D 模型压缩和减面该怎么排顺序
3d·大屏端
3D可视化大侠13 小时前
DPE 工程怎么交付到自有系统:GLB 导出与 SDK 集成实践
3d
总要学点什么14 小时前
第47篇:三维特效-雷达波效果——波纹一圈圈往外推,一半却埋在地下
3d·前端框架·gis·webgl·cesium
Shirley~~1 天前
Three.js的基础概念
前端·3d
Zldaisy3d1 天前
GAMS 2026: 增材制造无国界
3d·制造
浦信仿真大讲堂2 天前
用好 CST View Options:把3D操作环境调到更顺手,也更高效
3d·cst软件·达索软件
oioihoii2 天前
Pascal Editor 3D建筑编辑:墙体门窗、2D与3D视图及WebGPU建模
3d
千殇华来2 天前
3d打印的材料选择
3d·材料工程