Qt 3D Render QML Types
This module was introduced in Qt 5.7.
To import and use the module's QML types, use the following statement:
import Qt3D.Render 2.4
Selecting a Rendering Backend
The Render aspect comes with two rendering backends.
- OpenGL backend (ES 2, ES 3.2, GL 2, GL 3, GL 3.2, GL 4.3)
- RHI backend (ES 2, GL, DirectX, Vulkan, Metal)
If you are targeting OpenGL exclusively and are using specific OpenGL features, you might be better off using the OpenGL backend. This is the OpenGL backend that Qt 3D exclusively used in the Qt 5 series.
For cases where you are not using specific OpenGL features and want to target different platforms that might have deprecated OpenGL, using the RHI backend is a better alternative.
To select your rendering backend, the environment variable QT3D_RENDERER is to be set to either "opengl" or "rhi". Defaults to the OpenGL backend.
When using the RHI backend, you can further force the internal RHI backend by setting the QSG_RHI_BACKEND to one of the following values:
- opengl -> RHI OpenGL backend
- gl -> RHI OpenGL backend
- gles2 -> RHI OpenGL backend
- metal -> RHI Metal backend
- vulkan -> RHI Vulkan backend
- d3d11 -> RHI DirectX 11 backend
If not specified, RHI will default to what it deduces to be the best backend for the platform.
Alternatively, if using a QQuickWindow, QQuickWindow::setGraphicsApi() can be used to specify the RHI internal rendering backend.
Specify alpha reference test | |
Specifies the equation used for both the RGB blend equation and the Alpha blend equation | |
Encapsulates blending information: specifies how the incoming values (what's going to be drawn) are going to affect the existing values (what is already drawn) | |
FrameGraph node to transfer a rectangle of pixel values from one region of a render target to another | |
Exchanges buffer data between GPU and CPU | |
Class to clear buffers | |
Enables an additional OpenGL clipping plane that can be in shaders using gl_ClipDistance | |
Allows specifying which color components should be written to the currently bound frame buffer | |
Type specifies whether front or back face culling is enabled | |
Enables a visual overlay with scene details | |
Enables remapping depth values written into the depth buffer | |
Type tests the fragment shader's depth value against the depth of a sample being written to | |
Encapsulate a Directional Light object in a Qt 3D scene | |
FrameGraph node to issue work for the compute shader on GPU | |
Type defines front and back facing polygons | |
Enable frustum culling for the FrameGraph | |
Controls layers drawn in a frame graph branch | |
QML type provides a simple spherical volume, defined by its center and radius | |
An entity loader that changes depending on distance to camera or screen size | |
Specifies the width of rasterized lines | |
Class to place a memory barrier | |
A custom mesh loader | |
When a NoDraw node is present in a FrameGraph branch, this prevents the renderer from rendering any primitive | |
When a NoPicking node is present in a FrameGraph branch, this prevents the render aspect from performing picking selection for the given branch | |
Encapsulate a Point Light object in a Qt 3D scene | |
Specifies the size of rasterized points. May either be set statically or by shader programs | |
Type sets the scale and steps to calculate depth values for polygon offsets | |
Select entities which are within a distance threshold of a target entity | |
Render state allows to control the type of rasterization to be performed | |
Capture rendering | |
Receives render capture result | |
Provides storage for vectors of Filter Keys and Parameters | |
FrameGraph node offers a way of specifying a set of RenderState objects to be applied during the execution of a framegraph branch | |
Provides a way of specifying the render surface | |
Provides a way of specifying a render target | |
Type discards fragments that fall outside of a certain rectangular portion of the screen | |
Allows to use a textureId from a separate OpenGL context in a Qt 3D scene | |
Provides storage for the sort types to be used | |
Encapsulate a Spot Light object in a Qt 3D scene | |
Type controls the front and back writing of individual bits in the stencil planes | |
Type specifies stencil operation | |
Type specifies arguments for the stecil test | |
Enables or disables entire subtrees of frame graph nodes | |
A FrameGraphNode used to select used Techniques | |
An AbstractTexture with a Target1D target format | |
An AbstractTexture with a Target1DArray target format | |
An AbstractTexture with a Target2D target format | |
An AbstractTexture with a Target2DArray target format | |
An AbstractTexture with a Target2DMultisample target format | |
An AbstractTexture with a Target2DMultisampleArray target format | |
An AbstractTexture with a Target3D target format | |
An AbstractTexture with a TargetBuffer target format | |
An AbstractTexture with a TargetCubeMap target format | |
An AbstractTexture with a TargetCubeMapArray target format | |
Handles the texture loading and setting the texture's properties | |
An AbstractTexture with a TargetRectangle target format | |
A viewport on the Qt3D Scene |