Scene3D QML 类型

Scene3D 类型用于将 Qt3D 场景集成到 QtQuick 2 场景中。 更多...

导入语句import QtQuick.Scene3D 2.7
继承

Item

状态初步的

此类型正在开发中,并可能会发生变化。

属性

方法

详细描述

The Scene3D type renders a Qt3D scene, provided by an Entity, into a multisampled Framebuffer object. This object is later blitted into a non-multisampled Framebuffer object, which is then rendered with premultiplied alpha. If multisampling is not required, it can be avoided by setting the multisample property to false. In this case Scene3D will render directly into the non-multisampled Framebuffer object.

If the scene to be rendered includes non-opaque materials, you may need to modify those materials with custom blend arguments in order for them to be rendered correctly. For example, if working with a PhongAlphaMaterial and a scene with an opaque clear color, you will likely want to add

sourceAlphaArg: BlendEquationArguments.Zero
destinationAlphaArg: BlendEquationArguments.One

到那个材料中。

不推荐在一个应用程序中创建多个 Scene3D 实例。原因是 Scene3D 实例在场景下方实例化了整个 Qt 3D 引擎(内存管理器、线程池、渲染等)。

注意: 将 Scene3D 元素的可见性设置为 false 将停止 Qt 3D 模拟循环。这意味着将可见属性绑定到由 Qt 3D 模拟循环(FrameAction)驱动的属性更新表达式将永远不会重新评估。

属性文档

aspects : list<string>

3D 场景应注册的方面的列表。

例如,如果场景使用了 FrameAction,则应将“logic”方面包含在列表中。

“render”方面是硬编码的,不需要显式列出。


cameraAspectRatioMode : 枚举

常量描述
Scene3D.AutomaticAspectRatio自动宽高比。
Scene3D.UserAspectRatio用户定义宽高比。


compositingMode : 枚举

常量描述
FBO场景将渲染到帧缓冲对象中,这可能在某些平台和硬件上代价较高,但提供了更大的灵活性。自动宽高比。如果您不想让 Scene3D 元素占据整个屏幕,或者您计划在需要时调整其大小或动画化,您应该选择这种合成模式。在这种模式下,QML 文件中 Scene3D 的位置控制它与其他 Qt Quick 元素之间的堆叠顺序。
叠加层适用于使用 FBO 可能过于资源密集的全屏 3D 场景。 Scene3D 表现为一个 QtQuick 垂直层。请注意,在使用这种模式时,将忽略 Scene3D 及其变换的大小,渲染将覆盖整个屏幕。QML 文件中 Scene3D 的位置也将不起作用。Qt 3D 内容将在任何 Qt Quick 内容之前绘制。必须小心不要通过重叠 Qt Quick 内容来重复绘制并隐藏 Qt 3D 内容。此外,使用此模式时,窗口的 clearBeforeRendering 将自动设置为 false。

默认值为 FBO


entity : Entity [默认]

要显示的 3D 场景的根实体。


hoverEnabled : bool

true 如果接受悬停事件。


multisample : bool

true 如果请求多采样渲染缓冲区。

默认启用多采样。如果 OpenGL 实现不支持多采样渲染缓冲区或帧缓冲区复制,将忽略使用多采样的请求。

注意:请避免频繁更改此值,因为它涉及帧缓冲区和其他 OpenGL 资源的昂贵且可能缓慢的初始化。


方法文档

void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)

将项目区域设置为 area 并将像素比为 devicePixelRatio


© 2024 The Qt Company Ltd. 包含在此处的文档贡献是各自所有者的版权。本提供在此的文档是根据 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 的条款授予的。Qt 和相应的徽标是芬兰及其它世界各地的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。