Qt 3D C++ 类
Qt 3D 模块为基于Qt 3D 框架的近实时模拟提供基础和核心类型。
命名空间
包含 Qt3DAnimation 模块中的类 | |
包含作为Qt 3D 仿真框架基础的类,以及提供使用Qt 3D 框架渲染能力的类 | |
包含用于在 Qt3D 应用程序中实现 QML 功能的类 | |
包含 Qt3DExtras 模块中的类 | |
包含支持用户输入的类 | |
包含实现帧同步的类 | |
包含实现 2D 和 3D 渲染的类 |
类
Qt 3D 核心模块
提供垂直行为切片的基类 | |
所有函数的抽象基类 | |
骨架包含蒙皮网格的关节点 | |
用于计算蒙皮变换矩阵并将其设置在着色器上 | |
负责处理已在场景中注册的所有 QAbstractAspect 子类 | |
在一个方面中执行作业的基类 | |
定义属性以及从 QBuffer 中读取数据的方式 | |
所有 Qt3D 后端节点的基类 | |
创建后端节点并将其映射到各自的前端节点 | |
可用于覆盖实体的边界体积 | |
为原始数据提供数据存储空间,以便日后作为顶点或制服使用 | |
可由 Qt3DCore::QEntity 实例聚合为组件的场景节点基类 | |
保存与核心数据处理过程相关的设置 | |
Qt3DCore::QEntity是Qt3DCore::QNode子类,它可以聚合多个Qt3DCore::QComponent实例,这些实例将指定其行为 | |
封装几何图形 | |
封装几何细节 | |
用于变换蒙皮网格的部分内容 | |
用于构建 Qt3D 场景的所有 Qt3D 节点类的基类 | |
唯一标识一个 QNode | |
保存与蒙皮网格一起使用的骨架数据 | |
用于从文件中加载关节骨架 | |
用于对网格执行变换 | |
QAspectEngine 的环境和实例化 QML 组件的方法 |
Qt 3D 输入模块
动作输入和所有聚合动作输入的基类 | |
QAbstractActionInput 是所有轴输入的基类 | |
Qt3d 用于与任意输入设备交互的基类 | |
Qt3DInput::QAbstractPhysicalDeviceProxy 作为一个实际的 Qt3DInput::QQAbstractPhysicalDevice 设备的代理。 | |
链接一组触发相同事件的 QAbstractActionInput | |
存储用于触发输入事件的设备和按钮 | |
由模拟输入控制的轴输入 轴值的控制方式与操纵杆等传统模拟输入类似 | |
存储用于触发输入事件的 QAbstractAxisInputs | |
处理来自 QAxis 的速度或加速度数据 | |
存储指定轴列表的设置 | |
由按钮控制的轴输入 轴值由按钮而非操纵杆等传统模拟输入控制 | |
负责创建物理设备和处理相关作业 | |
代表一组必须同时触发的 QAbstractActionInput | |
用于定义游戏控制器等新输入法的抽象基类 | |
代表一组必须一个接一个触发的 QAbstractActionInput | |
持有指向输入事件源对象的指针 | |
由键盘处理程序发送的事件类型 | |
负责向附加的 QQKeyboardHandler 对象发送键盘事件 | |
提供键盘事件通知 | |
允许用户定义一组他们希望在应用程序中使用的操作 | |
将鼠标事件委托给附加的 MouseHandler 对象 | |
Qt3DCore::QMouseEvent 包含描述鼠标事件的参数 | |
当附加到一个 QMouseDevice 实例时,提供了一种获得鼠标事件通知的方法 | |
包含描述鼠标滚轮事件的参数 |
Qt 3D 逻辑模块
提供一种在每一帧执行同步函数的方法 | |
负责处理帧同步工作 |
Qt 3D 渲染模块
在Qt 3D 场景中封装 QAbstractLight 对象 | |
用于 3D 场景中光线投射的抽象基类 | |
用于提供纹理的基类 | |
封装了创建 OpenGL 纹理图像的必要信息 | |
启用阿尔法覆盖多重采样模式 | |
指定 alpha 参考测试 | |
指定用于 RGB 混合方程和 Alpha 混合方程的等式 | |
封装混合信息:指定输入值(将要绘制的内容)如何影响现有值(已绘制的内容) | |
FrameGraph 节点用于将像素值矩形从渲染目标的一个区域传输到另一个区域 | |
在 GPU 和 CPU 之间交换缓冲区数据 | |
定义一个视点,通过该视点渲染场景 | |
Qt3DRender::QCameraLens 指定投影矩阵,用于为 3D 场景定义相机 | |
允许选择要使用的相机的类 | |
用于清除缓冲区的类 | |
使用 gl_ClipDistance 在着色器中启用额外的 OpenGL 剪贴平面 | |
允许指定哪些颜色组件应被写入当前绑定的帧缓冲区 | |
为 GPU 上的计算着色器发布工作的 QComponent | |
指定启用正面还是背面剔除 | |
启用场景细节视觉叠加 | |
启用重映射写入深度缓冲区的深度值 | |
根据写入样本的深度测试片段着色器的深度值 | |
在Qt 3D 场景中封装定向光对象 | |
为 GPU 上的计算着色器发布工作的 FrameGraph 节点 | |
启用抖动 | |
Qt 3D 场景中特效的基类 | |
在Qt 3D 场景中封装环境光对象 | |
存储滤镜键及其值 | |
所有 FrameGraph 配置节点的基类 | |
定义前后多边形 | |
为 FrameGraph 启用凹面剔除功能 | |
封装几何图形渲染 | |
确定附加 QTechnique 所需的 API | |
过滤将被渲染的实体的方法 | |
控制在框架图形分支中绘制的图层 | |
根据屏幕尺寸控制渲染实体复杂度的方法 | |
由中心和半径定义的简单球形体积 | |
提供一种根据距离或屏幕尺寸启用子实体的方法 | |
指定光栅化线条的宽度 | |
提供一个抽象类,作为场景中所有材质组件类的基础 | |
用于设置内存障碍的类 | |
自定义网格加载器 | |
启用多采样抗锯齿 | |
禁用深度写入 | |
当一个 Qt3DRender::QNoDraw 节点出现在一个 FrameGraph 分支中时,这会阻止渲染器渲染任何基元。 | |
当一个 Qt3DRender::QNoPicking 节点出现在一个 FrameGraph 分支中时,这会阻止渲染器对给定的分支执行拾取选择。 | |
实例化一个组件,该组件可用于通过称为 "拾取 "的过程与 QEntity 进行交互 | |
可通过 QPainter 写入的 QAbstractTextureImage(抽象纹理图像 | |
为名称和值对提供存储空间。这将映射到着色器统一 | |
在对象被拾取时保存信息 | |
选取线段时保存信息 | |
选取点云的一段时保存信息 | |
选取三角形时的信息 | |
可用于提供仅用于拾取的替代 QGeometryView | |
指定如何处理实体拾取 | |
在Qt 3D 场景中封装点光源对象 | |
指定光栅化点的大小。可静态设置或由着色器程序设置 | |
设置计算多边形偏移深度值的比例和步骤 | |
选择目标实体距离阈值内的实体 | |
渲染状态允许控制要执行的光栅化类型 | |
Qt3DRender::QRayCaster 用于在三维世界坐标中执行光线投射测试 | |
通过模型投射光线时的命中细节 | |
类 | |
保存与可用渲染引擎相关的设置 | |
用于渲染捕捉的帧图节点 | |
接收渲染捕捉请求的结果 | |
封装一个渲染通道 | |
为滤镜键和参数矢量提供存储空间 | |
保存与渲染过程相关的设置,并托管活动的框架图 | |
所有渲染状态的抽象基类 | |
FrameGraph 节点提供了一种指定 QRenderState 对象集的方法,以便在执行帧图分支时应用该对象集 | |
提供一种指定渲染表面的方法 | |
封装一个目标(通常是一个帧缓冲区对象),渲染器可将其渲染到该目标中 | |
允许指定渲染目标的附件(无论是色彩纹理还是深度纹理等......)。 | |
提供指定渲染目标的方法 | |
提供加载现有场景的功能 | |
丢弃屏幕特定矩形区域外的片段 | |
根据屏幕坐标进行光线投射测试 | |
启用无缝立方体贴图纹理过滤功能 | |
FrameGraphNode 用于在图形命令流中插入栅栏 | |
提供指定统一块或着色器结构值的方法 | |
提供对着色器程序的图像访问 | |
封装着色器程序 | |
从加载的图形中生成着色器程序内容 | |
允许在Qt 3D 场景中使用来自单独 OpenGL 上下文的纹理 ID | |
为要使用的排序类型提供存储空间 | |
在Qt 3D 场景中封装聚光灯对象 | |
控制模板平面中各个位的前后写入 | |
指定模板操作 | |
设置模板和深度测试失败时要采取的措施 | |
指定模版测试的参数 | |
指定钢网测试的参数 | |
启用或禁用帧图节点的整个子树 | |
封装技术 | |
用于选择要使用的 Q 技术的 QFrameGraphNode | |
具有 Target1D 目标格式的 QAbstractTexture(抽象纹理 | |
目标格式为 Target1DArray 的 QAbstractTexture(抽象纹理 | |
目标格式为 Target2D 的 QAbstractTexture(抽象纹理 | |
目标格式为 Target2DArray 的 QAbstractTexture(抽象纹理 | |
目标格式为 Target2DMultisample 的 QAbstractTexture(抽象纹理 | |
目标格式为 Target2DMultisampleArray 的 QAbstractTexture(抽象纹理 | |
目标格式为 Target3D 的 QAbstractTexture(抽象纹理 | |
目标格式为 TargetBuffer 的 QAbstractTexture(抽象纹理 | |
目标格式为 TargetCubeMap 的 QAbstractTexture 三维抽象纹理 | |
目标格式为 TargetCubeMapArray 的 QAbstractTexture | |
存储纹理信息,如目标、高度、宽度、深度、图层、包边以及是否启用了 mipmaps | |
保存对纹理内容进行部分更新所需的内容和信息 | |
为纹理提供图像数据 | |
封装从图像源创建 OpenGL 纹理图像所需的信息 | |
存储表示纹理的数据 | |
为 QAbstractTextureImage 提供纹理图像数据 | |
处理纹理加载和纹理属性设置 | |
目标格式为 TargetRectangle 的 QAbstractTexture | |
定义 Qt3DRender::QAbstractTexture 应用于纹理的包边模式 | |
Qt3D 场景上的视口 | |
帧图节点(FrameGraphNode),用于等待图形命令流中的栅栏成为信号 |
Qt 3D 额外模块
相机控制器的基本功能 | |
允许在三维空间中创建锥形 | |
锥形网格 | |
锥形网格 | |
允许在三维空间中创建一个长方体 | |
一个长方体网格 | |
一个长方体网格 | |
允许在三维空间中创建一个圆柱体 | |
圆柱网格 | |
一个圆柱形网格 | |
默认的 phong 灯光效果 | |
允许在三维空间中创建三维挤出文本 | |
三维挤出文字网格 | |
允许从第一人称视角控制场景摄像机 | |
前向渲染器的默认 FrameGraph 实现 | |
实现 Gooch 阴影模型的材质,该模型在 CAD 和 CAM 应用程序中非常流行 | |
PBR 照明的默认实现 | |
默认实现 phong 灯光效果 | |
允许沿轨道路径控制场景摄像机 | |
为每个顶点设置颜色属性的默认渲染方式 | |
允许在三维空间中创建平面 | |
正方形平面网格 | |
正方形平面网格 | |
Qt3DExtras::QSkyboxEntity 是一个方便的 Qt3DCore::QEntity 子类,可用于在 3D 场景中插入天空盒。 | |
允许在三维空间中创建球体 | |
球形网格 | |
球形网格 | |
允许在三维空间中创建二维文本 | |
默认实现的简单无光纹理材质 | |
允许在三维空间中创建环形网格 | |
环形网格 | |
环形网格 |
Qt 3D 动画模块
Qt3D 动画的抽象基类 | |
提供关键帧动画数据类型的基类 | |
提供动画播放功能类型的基类 | |
用于构建动画混合树类型的基类 | |
根据加法因子对两个动画片段执行加法混合 | |
提供关键帧动画功能Qt 3D | |
代表一个动画回调对象 | |
指定关键帧动画数据 | |
包含动画数据的类 | |
可从文件加载关键帧动画数据 | |
动画控制器类 | |
动画分组类 | |
为混合节点树提供动画播放功能的组件 | |
允许将片段中的通道映射到回调对象的调用上 | |
为 QAnimationClipData 定义通道。动画系统会对每个通道组件进行独立的插补,除非 QChannel 被称为 "Rotation"(区分大小写),它有四个 QChannelComponent,且每个 QChannelComponent 的关键帧数相同。在这种情况下,插值将使用 SLERP 执行 | |
允许将剪辑中的通道映射到应用程序中对象的属性上 | |
允许将片段中的通道映射到应用程序中对象的属性上 | |
提供简单动画播放功能的组件 | |
用于在混合树中包含剪辑的类 | |
用于处理关键帧的基类 | |
为 QTransform 实现简单关键帧动画的类 | |
基于归一化因子对两个动画片段执行线性插值的类 | |
为混合形状动画提供变形目标的类 | |
一个实现混合形状变形动画的类 | |
实现顶点混合变形动画的类 |
Qt 3D 场景 2D 模块
该类可将 qml 渲染成纹理,然后用作三维场景的一部分 |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.