GraphicsInfo QML 类型

提供关于场景图后端和 Qt Quick 使用的图形 API 的信息。更多...

导入语句import QtQuick
QtQuick 2.8

属性

详细描述

GraphicsInfo 附加类型提供有关关联窗口渲染内容所使用的场景图后端和图形 API 的信息。

如果附有属性的项当前未与任何窗口关联,则将这些属性设置为默认值。当关联窗口更改时,属性将更新。

属性文档

api : 枚举 [只读]

此属性描述当前正在使用的图形 API。

可能值包括

常量描述
GraphicsInfo未知无活动场景图与项关联时的默认值
GraphicsInfo软件基于 QPainter 的 Qt Quick 软件渲染器,使用光栅绘图引擎
GraphicsInfo.OpenVGOpenVG
GraphicsInfo.OpenGLOpenGL 或 OpenGL ES,基于 QRhi 图形抽象层
GraphicsInfo.Direct3D11基于 QRhi 图形抽象层的 Direct3D 11
GraphicsInfo.Direct3D12基于 QRhi 图形抽象层的 Direct3D 12
GraphicsInfo.Vulkan基于 QRhi 图形抽象层的 Vulkan
GraphicsInfo.Metal基于 QRhi 图形抽象层的 Metal
GraphicsInfo.Null基于 QRhi 图形抽象层的 Null(无输出)

majorVersion : int [只读]

此属性包含正在使用的图形 API 的主版本。

在 OpenGL 中,默认版本为 2.0

注意:本条仅适用于OpenGL。

另请参阅:minorVersionprofile


minorVersion : int [只读]

该属性保存正在使用的图形API的次要版本。

在 OpenGL 中,默认版本为 2.0

注意:本条仅适用于OpenGL。

另请参阅:majorVersionprofile


profile : 枚举 [只读]

该属性保存配置的OpenGL上下文配置文件。

可能值包括

常量描述
GraphicsInfo.OpenGLNoProfile(默认)当OpenGL版本低于3.2或OpenGL未被使用时。
GraphicsInfo.OpenGLCoreProfile在OpenGL 3.0版本中弃用的功能不可用。
GraphicsInfo.OpenGLCompatibilityProfile可用较早版本的OpenGL功能。

可重用QML组件通常会在绑定中使用此属性以在核心和非核心配置文件兼容的着色器源之间进行选择。

注意:本条仅适用于OpenGL。

另请参阅:majorVersionminorVersionQSurfaceFormat


renderableType : 枚举 [只读]

该属性保存可渲染的类型。该值对于OpenGL以外的API没有意义。

可能值包括

常量描述
GraphicsInfo.SurfaceFormatUnspecified(默认)未指定渲染方法
GraphicsInfo.SurfaceFormatOpenGL桌面OpenGL或其他图形API
GraphicsInfo.SurfaceFormatOpenGLESOpenGL ES

注意:本条仅适用于OpenGL。

另请参阅:QSurfaceFormat


shaderCompilationType : 枚举 [只读,自QtQuick 2.8起]

该属性包含应用程序使用的Qt Quick后端支持的着色器编译方法的位掩码。

常量
GraphicsInfo.RuntimeCompilation
GraphicsInfo.OfflineCompilation

在OpenGL中,该值是 GraphicsInfo.RuntimeCompilation,对应于传统的使用 ShaderEffect 的方式。然而,非OpenGL后端预计会更多地关注 GraphicsInfo.OfflineCompilation。

注意:只有在项与窗口关联时,此值才是最新的。依赖于此值的绑定必须考虑,因为值可能在组件初始化完成后从 0 变为实际的位掩码。这对于 ShaderEffect 项在 ShaderEffectSource 项作为属性值设置的情况尤为重要。

此属性是在QtQuick 2.8中引入的。

另请参阅:shaderTypeshaderSourceType


shaderSourceType : 枚举 [只读,自QtQuick 2.8起]

此属性包含一个位掩码,表示支持提供着色器源的方法。

常量
GraphicsInfo.ShaderSourceString
GraphicsInfo.ShaderSourceFile
GraphicsInfo.ShaderByteCode

在OpenGL中,该值是 GraphicsInfo.ShaderSourceString,对应于将GLSL源代码内联到QML中的传统方式。然而,其他非OpenGL Qt Quick后端可能会决定不支持内联着色器源,甚至不支持着色器源。在这种情况下,预计着色器将被预先编译成SPIR-V或D3D着色器代码字节的格式。

注意:只有在项与窗口关联时,此值才是最新的。依赖于此值的绑定必须考虑,因为值可能在组件初始化完成后从 0 变为实际的位掩码。这对于 ShaderEffect 项在 ShaderEffectSource 项作为属性值设置的情况尤为重要。

此属性是在QtQuick 2.8中引入的。

另请参阅:shaderTypeshaderCompilationType


shaderType : 枚举 [只读,自QtQuick 2.8起]

此属性包含应用使用的 Qt Quick 后端支持的着色器语言。

常量描述
GraphicsInfo.UnknownShadingLanguage由于没有窗口和场景图,目前尚不清楚
GraphicsInfo.GLSLGLSL 或 GLSL ES
GraphicsInfo.HLSLHLSL
GraphicsInfo.RhiShaderQShader

注意:只有当项目与窗口关联时,此值才是最新的。依赖于此值的绑定必须注意,因为值可能在组件初始化完成后从 GraphicsInfo.UnknownShadingLanguage 变为实际值。这对于 ShaderEffect 项目尤其重要,这些项目在 ShaderEffectSource 项目中作为属性值设置。

此属性是在QtQuick 2.8中引入的。

参见 shaderCompilationTypeshaderSourceType


© 2024 Qt 公司有限公司。本文件中包含的文档贡献版权属于各自的所有者。本文件中提供的文档根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款进行许可。Qt 和相应的标志是芬兰和/或世界上其他国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。