Qt 3D Render QML Types

自 Qt3D.Render 6.8 起,该模块已被弃用。我们强烈建议不要在新代码中使用它。

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

import Qt3D.Render 2.9

选择渲染后端

Render 方面有两个渲染后端。

  • 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 将默认使用其推断出的该平台最佳后端。

另外,如果使用QQuickWindowQQuickWindow::setGraphicsApi() 可用于指定 RHI 内部渲染后端。

AbstractRayCaster

三维场景中光线投射的抽象基类

AbstractTexture

用于提供纹理的基类

AbstractTextureImage

封装了创建 OpenGL 纹理图像的必要信息

AlphaCoverage

启用阿尔法-覆盖多重采样模式

AlphaTest

指定 alpha 参考测试

BlendEquation

指定用于 RGB 混合方程和 Alpha 混合方程的等式

BlendEquationArguments

封装混合信息:指定输入值(即将绘制的内容)如何影响现有值(已绘制的内容)

BlitFramebuffer

FrameGraph 节点用于将像素值矩形从渲染目标的一个区域传输到另一个区域

BufferCapture

在 GPU 和 CPU 之间交换缓冲区数据

Camera

定义一个视点,通过该视点渲染场景

CameraLens

提供投影矩阵,用于为 3D 场景定义摄像机

CameraSelector

允许选择要使用的摄像机的类

ClearBuffers

清除缓冲区的类

ClipPlane

使用 gl_ClipDistance 在着色器中启用额外的 OpenGL 裁剪平面

ColorMask

允许指定哪些颜色组件应写入当前绑定的帧缓冲区

ComputeCommand

为 GPU 上的计算着色器发布工作的组件

CullFace

类型可指定是启用正面剔除还是背面剔除

DebugOverlay

启用场景细节视觉叠加

DepthRange

启用重映射写入深度缓冲区的深度值

DepthTest

根据写入样本的深度测试片段着色器的深度值

DirectionalLight

Qt 3D 场景中封装定向光对象

DispatchCompute

为 GPU 上的计算着色器发布工作的 FrameGraph 节点

Dithering

启用抖动

Effect

Qt 3D 场景中特效的基类

EnvironmentLight

Qt 3D 场景中封装环境光对象

FilterKey

存储滤镜键及其值

FrameGraphNode

所有 FrameGraph 配置节点的基类

FrontFace

定义前后多边形的类型

FrustumCulling

启用 FrameGraph 的挫边剔除功能

GeometryRenderer

封装几何图形渲染

GraphicsApiFilter

对于 OpenGL,确定附加技术所需的 API

Layer

筛选要渲染的实体的方法

LayerFilter

控制在框架图形分支中绘制的图层

LevelOfDetail

根据实体在屏幕上的大小控制渲染实体复杂度的方法

LevelOfDetailLoader

根据与摄像机的距离或屏幕尺寸而改变的实体加载器

LevelOfDetailSwitch

提供一种根据距离或屏幕尺寸启用子实体的方法

Light

Qt 3D 场景中封装 QAbstractLight 对象

LineWidth

指定光栅化线条的宽度

Material

不可创建的材质抽象基础

MemoryBarrier

用于设置内存障碍的类

Mesh

自定义网格加载器

MultiSampleAntiAliasing

启用多采样抗锯齿

NoDepthMask

禁用深度写入

NoDraw

当 FrameGraph 分支中存在 NoDraw(不绘制)节点时,渲染器将无法渲染任何基元。

NoPicking

当 FrameGraph 分支中出现 NoPicking 节点时,这将阻止渲染器对给定分支执行拾取选择。

ObjectPicker

实例化一个组件,该组件可用于通过称为 "挑选 "的过程与实体进行交互

Parameter

为名称和值对提供存储空间。这将映射到着色器统一

PickEvent

在选取对象时保存信息。当拾取成功时,大部分 QObjectPicker 组件信号都会将此作为参数接收

PickLineEvent

拾取线段时保存信息

PickPointEvent

选取点云的一段时保存信息

PickTriangleEvent

选取三角形时保存信息

PickingProxy

可用于提供仅用于拾取的替代几何视图

PickingSettings

指定如何处理实体拾取

PointLight

Qt 3D 场景中封装点光源对象

PointSize

指定光栅化点的大小。可静态设置或由着色器程序设置

PolygonOffset

类型设置比例和步骤,以计算多边形偏移的深度值

ProximityFilter

选择目标实体距离阈值内的实体

RasterMode

渲染状态允许控制要执行的光栅化类型

RayCaster

用于在三维世界坐标中执行光线投射测试

RenderCapabilities

QRenderCapabilities 类保存与可用渲染引擎相关的设置

RenderCapture

捕捉渲染

RenderCaptureReply

接收渲染捕捉结果

RenderPass

封装一个渲染通道

RenderPassFilter

为滤镜键和参数向量提供存储空间

RenderSettings

该类保存与渲染过程相关的设置,并托管活动帧图

RenderState

所有渲染状态的抽象基础类型

RenderStateSet

FrameGraph 节点提供了一种指定渲染状态对象集的方法,以便在执行帧图分支时应用该对象集

RenderSurfaceSelector

提供一种指定渲染表面的方法

RenderTarget

封装一个目标(通常是一个帧缓冲区对象),渲染器可将其渲染到该目标中

RenderTargetOutput

通过该类型可指定渲染目标的附件(无论是色彩纹理还是深度纹理......)。

RenderTargetSelector

提供指定渲染目标的方法

SceneLoader

提供加载现有场景的功能

ScissorTest

可丢弃超出屏幕特定矩形范围的片段

ScreenRayCaster

根据屏幕坐标进行光线投射测试

SeamlessCubemap

启用无缝立方体贴图纹理过滤

ShaderImage

提供对着色器程序的图像访问

ShaderProgram

封装着色器程序

ShaderProgramBuilder

从加载的图形中生成着色器程序内容

SharedGLTexture

允许在Qt 3D 场景中使用来自单独 OpenGL 上下文的纹理 ID

SortPolicy

为要使用的排序类型提供存储空间

SpotLight

Qt 3D 场景中封装聚光灯对象

StencilMask

类型可控制模版平面中各个位的前后写入

StencilOperation

类型指定钢网操作

StencilOperationArguments

类型设置钢网和深度测试失败时要采取的操作

StencilTest

类型指定钢网测试的参数

StencilTestArguments

类型指定钢网测试的参数

SubtreeEnabler

启用或禁用帧图节点的整个子树

Technique

封装技术

TechniqueFilter

用于选择所用技术的框架图节点

Texture1D

目标格式为 Target1D 的抽象纹理

Texture1DArray

目标格式为 Target1DArray 的抽象纹理

Texture2D

目标格式为 Target2D 的抽象纹理

Texture2DArray

目标格式为 Target2DArray 的抽象纹理

Texture2DMultisample

目标格式为 Target2DMultisample 的抽象纹理

Texture2DMultisampleArray

目标格式为 Target2DMultisampleArray 的抽象纹理

Texture3D

目标格式为 Target3D 的抽象纹理

TextureBuffer

目标格式为 TargetBuffer 的抽象纹理

TextureCubeMap

目标格式为 TargetCubeMap 的抽象纹理

TextureCubeMapArray

目标格式为 TargetCubeMapArray 的抽象纹理

TextureImage

封装从图像源创建 OpenGL 纹理图像的必要信息

TextureLoader

处理纹理加载和纹理属性设置

TextureRectangle

目标格式为 TargetRectangle 的抽象纹理

Viewport

Qt3D 场景上的视口

levelOfDetailBoundingSphere

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.