当前位置: 首页 > 工具软件 > Qt3D > 使用案例 >

Qt 3D使用攻略(4)-Qt3D之QML Types

潘刚洁
2023-12-01

目录

1.Qt 3D QML Types

2.Qt 3D Core Module(核心模块)

3.Qt 3D Input Module(输入模块)

4.Qt 3D Logic Module(逻辑模块)

5.Qt 3D Render Module(渲染模块)

6.Qt 3D Extras Module(附加模块)

7.Qt 3D Animation Module(动画模块)

8.Qt 3D Scene2D Module(2D模块)


1.Qt 3D QML Types

要导入和使用模块的QML类型,请使用以下语句:

import Qt3D.Core 2.0

对于碰撞检测、呈现器和与输入相关的QML类型,请使用以下导入语句:

  import Qt3D.Render 2.0
  import Qt3D.Input 2.0
  import Qt3D.Logic 2.0
  import Qt3D.Extras 2.0
  import Qt3D.Animation 2.9

2.Qt 3D Core Module(核心模块)

Component3D为创建Qt 3D组件提供基本类型
Transform用于在网格上执行变换
Entity可以聚合多个Component3D实例的节点子类,这些实例将指定其行为
EntityLoader提供一种动态加载Entity子树的方法
Node其他类型继承的基本QML类型。不能直接创建
NodeInstantiator动态创建的节点
QuaternionAnimation四元数的PropertyAnimation

3.Qt 3D Input Module(输入模块)

AbstractActionInputQML前台为抽象的Qt3DInput::QAbstractActionInput c++类
AbstractAxisInputQML前台抽象的QAbstractAxisInput c++类
AbstractPhysicalDeviceQML前台为抽象的Qt3DInput::QAbstractPhysicalDevice c++类
ActionQML前端为Qt3DInput::QAction c++类
ActionInputQML前端为Qt3DInput::QActionInput c++类
AnalogAxisInputQML前端为QAnalogAxisInput c++类
AxisQML前端为Qt3DInput::QAxis c++类
AxisAccumulatorQML前端为Qt3DInput::QAxisAccumulator c++类
AxisSettingQML前端为Qt3DInput::QAxisSetting c++类
ButtonAxisInputQML前端QButtonAxisInput c++类。轴值由按钮控制,而不是传统的模拟输入,如操纵杆
InputChordQML前端为Qt3DInput::QInputChord c++类
InputSequenceQML前端为Qt3DInput::QInputSequence c++类
InputSettings保存指向输入事件源对象的指针
KeyboardDeviceQML前端的QKeyboardDevice c++类
KeyboardHandlerQML前台为QKeyboardHandler c++类
KeyEventQML前台为QKeyEvent c++类
LogicalDeviceQML前端为Qt3DInput::QLogicalDevice c++类
MouseDevice将鼠标事件委托给附加的MouseHandler对象
MouseEvent提供描述鼠标事件的参数
WheelEvent包含描述鼠标滚轮事件的参数
MouseHandler提供鼠标事件通知

4.Qt 3D Logic Module(逻辑模块)

FrameAction提供一种方法使同步函数在每帧中执行

5.Qt 3D Render Module(渲染模块)

LevelOfDetailLoader一种实体装载器,它根据相机的距离或屏幕大小而变化
CameraSelector类以允许选择要使用的相机
ClearBuffers类来清除缓冲区
DispatchComputeFrameGraph节点为GPU上的计算着色器发出工作
FrameGraphNode所有FrameGraph配置节点的基类
FrustumCulling为FrameGraph启用截锥剔除
LayerFilter在框架图形分支中绘制
MemoryBarrier类来放置内存屏障
NoDraw当一个NoDraw节点出现在FrameGraph分支中时,这会阻止呈现器呈现任何原语
RenderCapture捕捉呈现
RenderCaptureReply接收渲染捕获结果
RenderSurfaceSelector提供指定呈现表面的方法
RenderTargetSelector提供指定呈现目标的方法
SortPolicy为要使用的排序类型提供存储空间
ViewportQt3D场景中的一个视口
Camera定义一个视点,通过这个视点渲染场景
CameraLens提供用于定义3D场景摄像机的投影矩阵
Layer过滤将呈现的实体的方法
LevelOfDetail基于实体在屏幕上的大小来控制呈现实体的复杂性的方法
LevelOfDetailLevelOfDetailBoundingSphere类提供了一个简单的球形体积,由它的中心和半径定义
LevelOfDetailSwitch提供基于距离或屏幕大小启用子实体的方法
PickingSettings指定如何处理实体拾取
RenderSettings类型保存与呈现过程相关的设置,并承载活动的FrameGraph
Attribute定义一个属性以及如何从Buffer读取数据
Buffer为原始数据提供数据存储,以便稍后用作顶点或制服
Geometry封装几何
GeometryRenderer封装几何渲染
Mesh自定义网格加载器
SceneLoader提供加载现有场景的工具
Light在Qt 3D场景中封装一个QAbstractLight对象
DirectionalLight在Qt 3D场景中封装一个方向光对象
EnvironmentLight在Qt 3D场景中封装一个环境光对象
PointLight在Qt 3D场景中封装点光源对象
SpotLight在Qt 3D场景中封装聚光灯对象
EffectQt 3D场景中特效的基类
FilterKey存储筛选键及其值
GraphicsApiFilter为OpenGL识别附加技术所需的API
Material不可创建的材料抽象基础
Parameter为名称和值对提供存储。这映射到着色器统一
RenderPass封装渲染通道
ShaderProgram封装着色程序
Technique封装技术
ObjectPicker实例化一个组件,该组件可被称为拣选的进程用于与实体进行交互
PickEvent在选择对象时保存信息。当选择成功时,在大多数QObjectPicker组件信号中,这是作为参数接收的
PickTriangleEvent在选择三角形时保存信息
AlphaCoverage启用阿尔法到覆盖多重采样模式
AlphaTest指定参考测验
BlendEquation指定RGB混合方程和Alpha混合方程使用的方程
BlendEquationArguments封装混合信息:指定传入值(将要绘制的内容)将如何影响现有值(已经绘制的内容)
ClipPlane使用gl_ClipDistance在着色器中启用一个额外的OpenGL剪切平面
ColorMask允许指定哪些颜色组件应该写入当前绑定的帧缓冲区
CullFaceType指定是启用正面剔除还是启用背面剔除
DepthTest类型测试碎片着色器的深度值与正在写入的样本的深度
Dithering使犹豫不决
FrontFace类型定义正面和背面多边形
MultiSampleAntiAliasing使multisample抗锯齿
NoDepthMask禁用深度写
PointSize指定栅格化点的大小。可以是静态设置或由着色程序
PolygonOffset类型设置计算多边形偏移深度值的比例和步骤
ScissorTest类型丢弃落在屏幕某个矩形部分外面的碎片
SeamlessCubemap支持无缝立方映射纹理过滤
StencilMask类型控制模板平面中单个位的正面和背面书写
StencilOperationType指定模板操作
StencilOperationArguments类型设置模板和深度测试失败时要采取的操作
StencilTestType指定stecil测试的参数
StencilTestArgumentsType指定模板测试的参数
AbstractTextureImage封装创建OpenGL纹理图像所需的信息
TextureImage封装从图像源创建OpenGL纹理图像所需的信息

6.Qt 3D Extras Module(附加模块)

FirstPersonCameraController允许从第一人称视角控制现场摄像机
OrbitCameraController允许沿轨道控制场景摄像机
DiffuseMapMaterialphong照明效果的默认实现,漫射光组件是从纹理贴图读取的
DiffuseSpecularMapMaterialphong照明效果的默认实现,漫反射和高光组件是从纹理贴图读取的
GoochMaterial材质实现古奇阴影模型,流行于CAD和CAM应用
NormalDiffuseMapAlphaMaterialNormalDiffuseMapMaterial的alpha覆盖和深度测试在渲染通道中执行
NormalDiffuseMapMaterialphong照明和凹凸效果的默认实现,漫射光组件从纹理贴图读取,网格的法线从普通纹理贴图渲染
NormalDiffuseSpecularMapMaterialphong照明和凹凸效果的默认实现,漫反射和高射光组件从纹理贴图读取,网格的法线从普通纹理贴图渲染
PerVertexColorMaterial渲染每个顶点颜色属性设置的默认实现
PhongAlphaMaterial默认使用alpha实现phong光照效果
PhongMaterialphong照明效果的默认实现
ExtrudedTextGeometry允许在3D空间中创建3D文本
ExtrudedTextMesh一个3D挤压文本网格
ForwardRenderer前向呈现器的默认FrameGraph实现
ConeGeometry允许创建一个三维空间的锥体
ConeMesh一个锥形网
CuboidGeometry允许在三维空间中创建长方体
CuboidMesh一个长方体的网
CylinderGeometry允许创建一个圆柱体在三维空间
CylinderMesh一个圆柱形网
PlaneGeometry允许在三维空间中创建平面
PlaneMesh方形平面网格
SphereGeometry允许创建一个三维空间的球体
SphereMesh球面网
TorusGeometry允许创建三维空间的环面
TorusMesh环形网

7.Qt 3D Animation Module(动画模块)

AbstractAnimationQt3D动画的抽象基类型
AbstractClipAnimator提供动画回放功能的类型的基类
AbstractClipBlendNode用于构造动画混合树类型的基类
AdditiveClipBlend基于添加因子执行两个动画剪辑的添加混合
AnimationController用于动画的控制器类型
AnimationGroup将动画分组在一起的类型
BlendedClipAnimator组件,提供混合节点树的动画回放功能
ClipAnimator提供简单动画回放功能的组件
KeyframeAnimation实现Transform的简单关键帧动画的类型
LerpBlend基于归一化因子对两个动画剪辑进行线性插值
MorphingAnimation一种实现混合形状变形动画的类型
MorphTarget为混合形状动画提供变形目标的类型
VertexBlendAnimation一种实现顶点混合变形动画的类型

8.Qt 3D Scene2D Module(2D模块)

Scene2D这种类型可以将qml渲染成纹理,然后将其用作3D场景的一部分

 类似资料: