GraphicsInfo QML Type

Provides information about the scenegraph backend and the graphics API used by Qt Quick. 更多...

导入语句: import QtQuick
Since: QtQuick 2.8

特性

详细描述

The GraphicsInfo attached type provides information about the scenegraph backend and the graphics API used to render the contents of the associated window.

If the item to which the properties are attached is not currently associated with any window, the properties are set to default values. When the associated window changes, the properties will update.

特性文档编制

[read-only] api : enumeration

This property describes the graphics API that is currently in use.

可能的值包括:

常量 描述
GraphicsInfo.Unknown the default value when no active scenegraph is associated with the item
GraphicsInfo.Software Qt Quick's software renderer based on QPainter with the raster paint engine
GraphicsInfo.OpenVG OpenVG
GraphicsInfo.OpenGL OpenGL or OpenGL ES on top of QRhi , a graphics abstraction layer
GraphicsInfo.Direct3D11 Direct3D 11 on top of QRhi , a graphics abstraction layer
GraphicsInfo.Direct3D12 Direct3D 12 on top of QRhi , a graphics abstraction layer
GraphicsInfo.Vulkan Vulkan on top of QRhi , a graphics abstraction layer
GraphicsInfo.Metal Metal on top of QRhi , a graphics abstraction layer
GraphicsInfo.Null Null (no output) on top of QRhi , a graphics abstraction layer

[read-only] majorVersion : int

This property holds the major version of the graphics API in use.

With OpenGL the default version is 2.0 .

注意: This is applicable only to OpenGL.

另请参阅 minorVersion and profile .


[read-only] minorVersion : int

This property holds the minor version of the graphics API in use.

With OpenGL the default version is 2.0 .

注意: This is applicable only to OpenGL.

另请参阅 majorVersion and profile .


[read-only] profile : enumeration

This property holds the configured OpenGL context profile.

可能的值包括:

常量 描述
GraphicsInfo.OpenGLNoProfile (default) OpenGL version is lower than 3.2 or OpenGL is not in use.
GraphicsInfo.OpenGLCoreProfile Functionality deprecated in OpenGL version 3.0 is not available.
GraphicsInfo.OpenGLCompatibilityProfile Functionality from earlier OpenGL versions is available.

Reusable QML components will typically use this property in bindings in order to choose between core and non core profile compatible shader sources.

注意: This is applicable only to OpenGL.

另请参阅 majorVersion , minorVersion ,和 QSurfaceFormat .


[read-only] renderableType : enumeration

This property holds the renderable type. The value has no meaning for APIs other than OpenGL.

可能的值包括:

常量 描述
GraphicsInfo.SurfaceFormatUnspecified (default) Unspecified rendering method
GraphicsInfo.SurfaceFormatOpenGL Desktop OpenGL or other graphics API
GraphicsInfo.SurfaceFormatOpenGLES OpenGL ES

注意: This is applicable only to OpenGL.

另请参阅 QSurfaceFormat .


[read-only, since QtQuick 2.8] shaderCompilationType : enumeration

This property contains a bitmask of the shader compilation approaches supported by the Qt Quick backend the application is using.

常量
GraphicsInfo.RuntimeCompilation
GraphicsInfo.OfflineCompilation

With OpenGL the value is GraphicsInfo .RuntimeCompilation, which corresponds to the traditional way of using ShaderEffect . Non-OpenGL backends are expected to focus more on GraphicsInfo .OfflineCompilation, however.

注意: The value is only up-to-date once the item is associated with a window. Bindings relying on the value have to keep this in mind since the value may change from 0 to the actual bitmask after component initialization is complete. This is particularly relevant for ShaderEffect items inside ShaderEffectSource items set as property values.

This property was introduced in QtQuick 2.8.

另请参阅 shaderType and shaderSourceType .


[read-only, since QtQuick 2.8] shaderSourceType : enumeration

This property contains a bitmask of the supported ways of providing shader sources.

常量
GraphicsInfo.ShaderSourceString
GraphicsInfo.ShaderSourceFile
GraphicsInfo.ShaderByteCode

With OpenGL the value is GraphicsInfo .ShaderSourceString, which corresponds to the traditional way of inlining GLSL source code into QML. Other, non-OpenGL Qt Quick backends may however decide not to support inlined shader sources, or even shader sources at all. In this case shaders are expected to be pre-compiled into formats like SPIR-V or D3D shader bytecode.

注意: The value is only up-to-date once the item is associated with a window. Bindings relying on the value have to keep this in mind since the value may change from 0 to the actual bitmask after component initialization is complete. This is particularly relevant for ShaderEffect items inside ShaderEffectSource items set as property values.

This property was introduced in QtQuick 2.8.

另请参阅 shaderType and shaderCompilationType .


[read-only, since QtQuick 2.8] shaderType : enumeration

This property contains the shading language supported by the Qt Quick backend the application is using.

常量 描述
GraphicsInfo.UnknownShadingLanguage Not yet known due to no window and scenegraph associated
GraphicsInfo.GLSL GLSL or GLSL ES
GraphicsInfo.HLSL HLSL
GraphicsInfo.RhiShader QShader

注意: The value is only up-to-date once the item is associated with a window. Bindings relying on the value have to keep this in mind since the value may change from GraphicsInfo .UnknownShadingLanguage to the actual value after component initialization is complete. This is particularly relevant for ShaderEffect items inside ShaderEffectSource items set as property values.

This property was introduced in QtQuick 2.8.

另请参阅 shaderCompilationType and shaderSourceType .

内容