码迷,mamicode.com
首页 > 编程语言 > 详细

Qt 3D c++ (四):设置其他的必要参数

时间:2020-05-28 21:52:26      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:one   c++   include   物理   之间   简单   class   设置   代码   

创建一个3D模型程序,到这里基本已经算是完成,接下来只需要再做一点收尾工作,一个简单的3D程序就算完成。

下面是针对相机控制,光线的添加这两部分代码的补充。

编辑main.cpp,在其中添加如下代码

#include <QInputAspect>
#include <QPointLight>
#include <QFirstPersonCameraController>


main()
{
    Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect;
    view->registerAspect(input);
    //QInputAspect负责创建物理设备并处理相关的作业,处理前端和后端节点之间的映射,负责根据当前输入设置建立要在特定时间运行的作业的对象。

    Qt3DCore::QEntity *lightEntity = new Qt3DCore::QEntity(rootEntity);
    Qt3DRender::QPointLight *light = new Qt3DRender::QPointLight(lightEntity);
    light->setColor("white");
    light->setIntensity(1);
    lightEntity->addComponent(light);
    Qt3DCore::QTransform *lightTransform = new Qt3DCore::QTransform(lightEntity);
    lightTransform->setTranslation(cameraEntity->position());
    lightEntity->addComponent(lightTransform);
    //设置光源

    Qt3DExtras::QFirstPersonCameraController *camController = new Qt3DExtras::QFirstPersonCameraController(rootEntity);
    camController->setCamera(cameraEntity);
    //相机第一人称视角控制
}

之后就可以拖动鼠标从不同的角度观测3D模型。

Qt 3D c++ (四):设置其他的必要参数

标签:one   c++   include   物理   之间   简单   class   设置   代码   

原文地址:https://www.cnblogs.com/leocc325/p/12983692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!