Qt 3D渲染 C++类
The Qt 3D Render module contains functionality to support 2D and 3D rendering using Qt 3D. 更多...
命名空间
包含启用2D和3D渲染的类 | |
命名空间,用于访问Renderer和QRenderPlugin类 |
类
在Qt 3D场景中封装QAbstractLight对象 | |
3D场景中光栅化的抽象基类 | |
用于提供纹理的基类 | |
封装创建OpenGL纹理图像所需的信息 | |
启用alpha到覆盖的多采样模式 | |
指定alpha参考测试 | |
指定用于RGB混合方程和Alpha混合方程的方程 | |
封装混合信息:指定输入值(将要绘制的)如何影响现有值(已经绘制) | |
帧图节点,用于将像素值矩形从渲染目标的一个区域传输到另一个区域 | |
在GPU和CPU之间交换缓冲区数据 | |
定义视图点,通过该视图点将渲染场景 | |
Qt3DRender::QCameraLens指定3D场景中Camera的投影矩阵 | |
允许选择要使用的Camera的类 | |
用于清除缓冲区的类 | |
启用额外的OpenGL裁剪平面,该平面可以应用于着色器中的gl_ClipDistance | |
允许指定应写入当前绑定的帧缓冲区的颜色组件 | |
QComponent,用于在GPU上发布compute着色器的工作 | |
指定是否启用前向或后向面剔除 | |
启用带有场景详细信息的可视化覆盖 | |
启用将深度值重映射到深度缓冲区 | |
将片元着色器的深度值与写入样本的深度进行比较 | |
在Qt 3D场景中封装Directional Light对象 | |
帧图节点,用于在GPU上发布compute着色器的工作 | |
启用抗锯齿处理 | |
Qt 3D场景中效果的基类 | |
在Qt 3D场景中封装环境光对象 | |
过滤键及其值的存储 | |
所有FrameGraph配置节点的基类 | |
定义前向和后向面对的多边形 | |
为FrameGraph启用视锥剔除 | |
封装几何渲染 | |
识别所需API来用于附加的QTechnique | |
筛选渲染哪些实体的方式 | |
控制帧图分支中绘制的层 | |
根据屏幕上实体的大小控制渲染实体复杂性的方式 | |
简单的球体体积,由其中心和半径定义 | |
提供基于距离或屏幕大小的子实体启用方式 | |
指定光栅化线的宽度 | |
提供一个抽象类,该类应是场景中所有材质组件类的基类 | |
用于放置内存屏障的类 | |
自定义网格加载器 | |
启用多样本抗锯齿 | |
禁用深度写入 | |
当Qt3DRender::QNoDraw节点在一个FrameGraph分支中存在时,这将防止渲染器渲染任何原始图形 | |
当Qt3DRender::QNoPicking节点在一个FrameGraph分支中存在时,这将防止渲染渲染方面为此分支执行选择 | |
通过称为选择的过程实例化可用于与QEntity交互的组件 | |
一个可以通过QPainter写入的QAbstractTextureImage | |
提供存储名称和值对的空间。这映射到一个着色器统一变量 | |
保存选择时的对象信息 | |
保存选择线段时的信息 | |
保存选择点云段时的信息 | |
保存选择三角形时的信息 | |
可用于提供仅用于选择的备用QGeometryView | |
指定如何处理实体选择 | |
将点光源对象封装在Qt 3D场景中 | |
指定光栅化点的大小。可以是静态设置的,也可以由着色器程序设置 | |
设置缩放和步进以计算多边形偏移的深度值 | |
选择在目标实体距离阈值内的实体 | |
渲染状态允许控制要执行的光栅化类型 | |
Qt3DRender::QRayCaster用于在3D世界坐标中执行射线投射测试 | |
通过模型投射射线时的命中细节 | |
类 | |
保存与可用渲染引擎相关的设置 | |
渲染捕获的帧图节点 | |
接收渲染捕获请求的结果 | |
封装一个渲染通道 | |
为Filter键和参数向量提供存储空间 | |
保存与渲染过程相关的设置并承载活动框架图 | |
所有渲染状态的具体的抽象基类 | |
FrameGraph节点提供了一种指定在帧图分支执行期间应用的一组QRenderState对象的方法 | |
提供了一种指定渲染表面的方法 | |
封装了一个目标(通常是一个帧缓冲区对象),渲染器可以将内容渲染到该目标 | |
允许指定渲染目标的附加内容(无论是颜色纹理、深度纹理等...) | |
提供了指定渲染目标的方法 | |
提供了加载现有场景的设施 | |
丢弃屏幕正方形区域内特定的矩形部分的片段 | |
根据屏幕坐标进行光线投射测试 | |
启用无缝立方图纹理过滤 | |
用于在图形命令流中插入栅栏的FrameGraphNode | |
提供了一种指定统一块或着色器结构值的方法 | |
提供对着色器程序图像的访问 | |
封装了一个着色器程序 | |
从加载的图中生成着色器程序内容 | |
允许在Qt 3D场景中使用来自分离OpenGL上下文的纹理ID | |
提供用于存储将使用的排序类型的存储空间 | |
在Qt 3D场景中封装一个聚光灯对象 | |
控制模板平面中各个位的写入 | |
指定模板操作 | |
设置当模板和深度测试失败时采取的动作 | |
指定模板测试的参数 | |
指定模板测试的参数 | |
启用或禁用整个帧图节点的子树 | |
封装了一个技术 | |
用于选择要使用的QTechniques的QFrameGraphNode | |
具有Target1D目标格式的QAbstractTexture | |
具有Target1DArray目标格式的QAbstractTexture | |
具有Target2D目标格式的QAbstractTexture | |
具有Target2DArray目标格式的QAbstractTexture | |
具有Target2DMultisample目标格式的QAbstractTexture | |
具有Target2DMultisampleArray目标格式的QAbstractTexture | |
具有Target3D目标格式的QAbstractTexture | |
具有TargetBuffer目标格式的QAbstractTexture | |
具有TargetCubeMap目标格式的QAbstractTexture | |
具有TargetCubeMapArray目标格式的QAbstractTexture | |
存储纹理信息,如目标、高度、宽度、深度、层、包裹,以及是否启用mipmap | |
包含执行纹理内容部分更新所需的内容和信息 | |
为纹理提供图像数据 | |
封装从图像源创建OpenGL纹理图像所需的信息 | |
存储表示纹理的数据 | |
为QAbstractTextureImage提供纹理图像数据 | |
处理纹理加载和设置纹理属性 | |
具有目标矩形格式的QAbstractTexture | |
定义Qt3DRender::QAbstractTexture应应用于纹理的包装模式 | |
Qt3D场景中的视口 | |
用于在图形命令流中等待栅栏变信号的FrameGraphNode |
详细描述
Qt 3D Render模块提供了实现2D和3D渲染所需的方面、组件和其他支持类型,作为Qt 3D框架的一部分。
要使用此模块中的类,请在C++文件中添加此指令
#include <Qt3DRender>
要将链接与相应的C++库关联,请将以下内容添加到您的qmake项目文件中
QT += 3drender
类、类型和函数在Qt3DRender命名空间下声明。
概述
Qt 3D Render方面提供了对如Qt 3D Render Framegraph中描述的数据驱动配置的支持。
选择渲染后端
渲染方面包含两个渲染后端。
- OpenGL后端(ES 2、ES 3.2、GL 2、GL 3、GL 3.2、GL 4.3)
- RHI后端(ES 2、GL、DirectX、Vulkan、Metal)
如果您仅针对OpenGL,并使用特定的OpenGL功能,则可能更适合使用OpenGL后端。这是Qt 3D在Qt 5系列中独家使用的OpenGL后端。
对于不使用特定OpenGL功能且要针对可能已弃用的OpenGL的不同平台的情况,使用RHI后端是更好的选择。
要选择您的渲染后端,将环境变量QT3D_RENDERER设置为"opengl"或"rhi"。默认为OpenGL后端。
在使用RHI后端时,您可以通过设置QSG_RHI_BACKEND为以下值来进一步强制内部RHI后端
- opengl -> RHI OpenGL后端
- gl -> RHI OpenGL后端
- gles2 -> RHI OpenGL后端
- metal -> RHI Metal后端
- vulkan -> RHI Vulkan后端
- d3d11 -> RHI DirectX 11后端
如果没有指定,RHI将默认为它在平台上推断出的最佳后端。
参考
© 2024 The Qt Company Ltd. 本文档中的贡献版权归各自所有者。本提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是芬兰和/或全球其他国家的The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。