Scene3D QML 类型
Scene3D 类型用于将 Qt3D 场景集成到 QtQuick 2 场景中。 更多...
导入语句 | import QtQuick.Scene3D 2.7 |
继承 | |
状态 | 初步的 |
此类型正在开发中,并可能会发生变化。
属性
- aspects : list<string>
- cameraAspectRatioMode : enumeration
- compositingMode : enumeration
- entity : Entity
- hoverEnabled : bool
- multisample : bool
方法
- void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)
详细描述
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)驱动的属性更新表达式将永远不会重新评估。
属性文档
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 资源的昂贵且可能缓慢的初始化。
方法文档
将项目区域设置为 area 并将像素比为 devicePixelRatio。
© 2024 The Qt Company Ltd. 包含在此处的文档贡献是各自所有者的版权。本提供在此的文档是根据 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 的条款授予的。Qt 和相应的徽标是芬兰及其它世界各地的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。