GraphicsInfo QML Type
提供关于Qt Quick 使用的 scenegraph 后端和图形 API 的信息。更多
Import Statement: | import QtQuick |
Since: | QtQuick 2.8 |
属性
- api : enumeration
- majorVersion : int
- minorVersion : int
- profile : enumeration
- renderableType : enumeration
- shaderCompilationType : enumeration
(since QtQuick 2.8)
- shaderSourceType : enumeration
(since QtQuick 2.8)
- shaderType : enumeration
(since QtQuick 2.8)
详细说明
附加的 GraphicsInfo 类型提供了关于场景图后台和用于渲染关联窗口内容的图形 API 的信息。
如果附加属性的项目当前未与任何窗口关联,则属性将设置为默认值。当关联窗口发生变化时,属性将更新。
属性文档
api : enumeration |
该属性描述当前使用的图形 API。
可能的值有
常量 | 说明 |
---|---|
GraphicsInfo.Unknown | 当没有活动场景图与项目关联时的默认值 |
GraphicsInfo.Software | Qt Quick基于QPainter 光栅绘画引擎的软件渲染器 |
GraphicsInfo.OpenVG | OpenVG |
GraphicsInfo.OpenGL | QRhi 上的 OpenGL 或 OpenGL ES,图形抽象层 |
GraphicsInfo.Direct3D11 | Direct3D 11 位于QRhi 的顶层,是一个图形抽象层 |
GraphicsInfo.Direct3D12 | Direct3D 12 位于QRhi 的顶层,是一个图形抽象层 |
GraphicsInfo.Vulkan | Vulkan on top ofQRhi, 图形抽象层 |
GraphicsInfo.Metal | Metal on top ofQRhi, 图形抽象层 |
GraphicsInfo.Null | Null (no output) on top ofQRhi, 一个图形抽象层 |
majorVersion : int |
minorVersion : int |
profile : enumeration |
该属性包含已配置的 OpenGL 上下文配置文件。
可能的值有
常量 | 说明 |
---|---|
GraphicsInfo.OpenGLNoProfile | (默认值) OpenGL 版本低于 3.2 或未使用 OpenGL。 |
GraphicsInfo.OpenGLCoreProfile | 在 OpenGL 3.0 版本中已废弃的功能不可用。 |
GraphicsInfo.OpenGLCompatibilityProfile | 早期 OpenGL 版本的功能可用。 |
可重用的 QML 组件通常会在绑定中使用此属性,以便在核心和非核心配置文件兼容的着色器源之间进行选择。
注意: 这只适用于 OpenGL。
另请参阅 majorVersion,minorVersion, 和QSurfaceFormat 。
renderableType : enumeration |
该属性包含可呈现类型。该值对 OpenGL 以外的其他 API 没有意义。
可能的值有
常量 | 描述 |
---|---|
GraphicsInfo.SurfaceFormatUnspecified | (默认)未指定的呈现方法 |
GraphicsInfo.SurfaceFormatOpenGL | 桌面 OpenGL 或其他图形 API |
GraphicsInfo.SurfaceFormatOpenGLES | OpenGL ES |
注: 仅适用于 OpenGL。
另请参阅 QSurfaceFormat 。
shaderCompilationType : enumeration |
此属性包含应用程序使用的Qt Quick 后端所支持的着色器编译方法的位掩码。
常量 | 值 |
---|---|
GraphicsInfo.RuntimeCompilation | |
GraphicsInfo.OfflineCompilation |
对于 OpenGL,该值为GraphicsInfo.RuntimeCompilation,相当于使用ShaderEffect 的传统方式。不过,非 OpenGL 后端预计会更注重GraphicsInfo.OfflineCompilation。
注意: 该值只有在项目与窗口关联后才会更新。依赖该值的绑定必须牢记这一点,因为在组件初始化完成后,该值可能会从0
变为实际的位掩码。这与ShaderEffect 内的ShaderEffectSource 项设置为属性值尤其相关。
该属性在 QtQuick 2.8 中引入。
另请参阅 shaderType 和shaderSourceType 。
shaderSourceType : enumeration |
该属性包含提供着色器源的支持方式的位掩码。
常量 | 值 |
---|---|
GraphicsInfo.ShaderSourceString | |
GraphicsInfo.ShaderSourceFile | |
GraphicsInfo.ShaderByteCode |
对于 OpenGL,其值为GraphicsInfo.ShaderSourceString,这相当于将 GLSL 源代码内联到 QML 中的传统方式。但其他非 OpenGLQt Quick 后端可能决定不支持内联着色器源,甚至根本不支持着色器源。在这种情况下,着色器应预先编译成 SPIR-V 或 D3D 着色器字节码等格式。
注意: 该值只有在项目与窗口关联后才会更新。依赖该值的绑定必须牢记这一点,因为在组件初始化完成后,该值可能会从0
变为实际的位掩码。这与ShaderEffect 内的ShaderEffectSource 项设置为属性值尤其相关。
该属性在 QtQuick 2.8 中引入。
另请参阅 shaderType 和shaderCompilationType 。
shaderType : enumeration |
该属性包含应用程序使用的Qt Quick 后端所支持的着色语言。
常量 | 说明 |
---|---|
GraphicsInfo.UnknownShadingLanguage | 由于未关联窗口和场景图,因此尚不清楚 |
GraphicsInfo.GLSL | GLSL 或 GLSL ES |
GraphicsInfo.HLSL | HLSL |
GraphicsInfo.RhiShader | QShader |
注: 该值只有在项目与窗口关联后才会更新。依赖该值的绑定必须牢记这一点,因为在组件初始化完成后,该值可能会从GraphicsInfo.UnknownShadingLanguage 变为实际值。这与ShaderEffect 内的ShaderEffectSource 项设置为属性值尤其相关。
该属性在 QtQuick 2.8 中引入。
© 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.