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);
相关推荐
海天鹰34 分钟前
电机齿轮拉马
3d
鹧鸪云光伏1 小时前
3D光伏支架设计,让项目落地更直观
3d·光伏·光储
fie88891 小时前
基于MATLAB的3D心形图与玫瑰花图案实现
数学建模·matlab·3d
小宇的天下1 天前
Calibre 3Dstack --每日一个命令day3【stack】(3-3)
前端·数据库·3d
冥界摄政王1 天前
CesiumJS学习第四章 替换指定3D建筑模型
3d·vue·html·webgl·js·cesium
微凉的衣柜1 天前
【3D 打印避坑实录】如何用 Blender 彻底修复空壳 STL
c++·3d·blender
在下胡三汉1 天前
glTF/glb文件的深入指南下载获取:揭示3D可视化的核心
3d
军军君012 天前
Three.js基础功能学习四:摄像机与阴影
开发语言·前端·javascript·3d·typescript·three·三维
yesyesido2 天前
AI手办工坊:3D渲染级二次元写真生成、多风格角色定制与高清无损下载的一键创作平台
人工智能·3d