Qt 3D QML Types

The Qt 3D core QML types are imported with

import Qt3D.Core 2.12

Other modules import functionality for collision detection, rendering, input, and animation. The complete list of Qt 3D import statements:

import Qt3D.Core 2.12
import Qt3D.Render 2.12
import Qt3D.Input 2.12
import Qt3D.Logic 2.12
import Qt3D.Extras 2.12
import Qt3D.Animation 2.12
import QtQuick.Scene2D 2.12
import QtQuick.Scene3D 2.12

QML Types

Qt 3D Core Module

AbstractSkeleton

A skeleton contains the joints for a skinned mesh

Armature

Used to calculate skinning transform matrices and set them on shaders

Component3D

Provides the base type for creating Qt 3D components

Entity

Node subclass that can aggregate several Component3D instances that will specify its behavior

EntityLoader

Provides a way to dynamically load an Entity subtree

Joint

Used to transforms parts of skinned meshes

Node

A base QML type that other types inherit. It cannot be directly created

NodeInstantiator

Dynamically creates nodes

QuaternionAnimation

A PropertyAnimation for quaternions

Skeleton

Holds the data for a skeleton to be used with skinned meshes

SkeletonLoader

Used to load a skeleton of joints from file

Transform

Used to perform transforms on meshes

Qt 3D Input Module

AbstractActionInput

QML frontend for the abstract Qt3DInput::QAbstractActionInput C++ class

AbstractAxisInput

QML frontend for abstract QAbstractAxisInput C++ class

AbstractPhysicalDevice

QML frontend for the abstract Qt3DInput::QAbstractPhysicalDevice C++ class

Action

QML frontend for the Qt3DInput::QAction C++ class

ActionInput

QML frontend for the Qt3DInput::QActionInput C++ class

AnalogAxisInput

QML frontend for QAnalogAxisInput C++ class

Axis

QML frontend for the Qt3DInput::QAxis C++ class

AxisAccumulator

QML frontend for the Qt3DInput::QAxisAccumulator C++ class

AxisSetting

QML frontend for the Qt3DInput::QAxisSetting C++ class

ButtonAxisInput

QML frontend for QButtonAxisInput C++ class. The axis value is controlled by buttons rather than a traditional analog input such as a joystick

InputChord

QML frontend for the Qt3DInput::QInputChord C++ class

InputSequence

QML frontend for the Qt3DInput::QInputSequence C++ class

InputSettings

Holds the pointer to an input event source object

KeyEvent

QML frontend for QKeyEvent C++ class

KeyboardDevice

QML frontend for QKeyboardDevice C++ class

KeyboardHandler

QML frontend for QKeyboardHandler C++ class

LogicalDevice

QML frontend for the Qt3DInput::QLogicalDevice C++ class

MouseDevice

Delegates mouse events to the attached MouseHandler objects

MouseEvent

Provides parameters that describe a mouse event

MouseHandler

Provides mouse event notification

WheelEvent

Contains parameters that describe a mouse wheel event

Qt 3D Logic Module

FrameAction

Provides a way to have a synchronous function executed each frame

Qt 3D Render Module

AbstractRayCaster

An abstract base class for ray casting in 3d scenes

AbstractTextureImage

Encapsulates the necessary information to create an OpenGL texture image

AlphaCoverage

Enable alpha-to-coverage multisampling mode

AlphaTest

Specify alpha reference test

Attribute

Defines an attribute and how data should be read from a Buffer

BlendEquation

Specifies the equation used for both the RGB blend equation and the Alpha blend equation

BlendEquationArguments

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)

BlitFramebuffer

FrameGraph node to transfer a rectangle of pixel values from one region of a render target to another

Buffer

Provides a data store for raw data to later be used as vertices or uniforms

Camera

Defines a view point through which the scene will be rendered

CameraLens

Provides the projection matrix that is used to define a Camera for 3D scene

CameraSelector

Class to allow for selection of camera to be used

ClearBuffers

Class to clear buffers

ClipPlane

Enables an additional OpenGL clipping plane that can be in shaders using gl_ClipDistance

ColorMask

Allows specifying which color components should be written to the currently bound frame buffer

CullFace

Type specifies whether front or back face culling is enabled

DepthTest

Type tests the fragment shader's depth value against the depth of a sample being written to

DirectionalLight

Encapsulate a Directional Light object in a Qt 3D scene

DispatchCompute

FrameGraph node to issue work for the compute shader on GPU

Dithering

Enable dithering

Effect

Base class for effects in a Qt 3D scene

EnvironmentLight

Encapsulate an environment light object in a Qt 3D scene

FilterKey

Stores filter keys and their values

FrameGraphNode

Base class of all FrameGraph configuration nodes

FrontFace

Type defines front and back facing polygons

FrustumCulling

Enable frustum culling for the FrameGraph

Geometry

Encapsulates geometry

GeometryRenderer

Encapsulates geometry rendering

GraphicsApiFilter

For OpenGL identifies the API required for the attached technique

Layer

Way of filtering which entities will be rendered

LayerFilter

Controls layers drawn in a frame graph branch

LevelOfDetail

Way of controlling the complexity of rendered entities based on their size on the screen

LevelOfDetailBoundingSphere

QML type provides a simple spherical volume, defined by its center and radius

LevelOfDetailLoader

An entity loader that changes depending on distance to camera or screen size

LevelOfDetailSwitch

Provides a way of enabling child entities based on distance or screen size

Light

Encapsulate a QAbstractLight object in a Qt 3D scene

LineWidth

Specifies the width of rasterized lines

Material

Non-creatable abstract base for materials

MemoryBarrier

Class to place a memory barrier

Mesh

A custom mesh loader

MultiSampleAntiAliasing

Enable multisample antialiasing

NoDepthMask

Disable depth write

NoDraw

When a NoDraw node is present in a FrameGraph branch, this prevents the renderer from rendering any primitive

ObjectPicker

Instantiates a component that can be used to interact with an Entity by a process known as picking

Parameter

Provides storage for a name and value pair. This maps to a shader uniform

PickEvent

Holds information when an object is picked. This is received as a parameter in most of the QObjectPicker component signals when picking succeeds

PickLineEvent

Holds information when a segment of a line is picked

PickPointEvent

Holds information when a segment of a point cloud is picked

PickTriangleEvent

Holds information when a triangle is picked

PickingSettings

Specifies how entity picking is handled

PointLight

Encapsulate a Point Light object in a Qt 3D scene

PointSize

Specifies the size of rasterized points. May either be set statically or by shader programs

PolygonOffset

Type sets the scale and steps to calculate depth values for polygon offsets

ProximityFilter

Select entities which are within a distance threshold of a target entity

RayCaster

Used to perform ray casting tests in 3d world coordinates

RenderCapture

Capture rendering

RenderCaptureReply

Receives render capture result

RenderPass

Encapsulates a Render Pass

RenderPassFilter

Provides storage for vectors of Filter Keys and Parameters

RenderSettings

Type holds settings related to rendering process and host the active FrameGraph

RenderStateSet

FrameGraph node offers a way of specifying a set of RenderState objects to be applied during the execution of a framegraph branch

RenderSurfaceSelector

Provides a way of specifying the render surface

RenderTarget

Encapsulates a target (usually a frame buffer object) which the renderer can render into

RenderTargetOutput

Type allows the specification of an attachment of a render target (whether it is a color texture, a depth texture, etc... )

RenderTargetSelector

Provides a way of specifying a render target

SceneLoader

Provides the facility to load an existing Scene

ScissorTest

Type discards fragments that fall outside of a certain rectangular portion of the screen

ScreenRayCaster

Performe ray casting test based on screen coordinates

SeamlessCubemap

Enables seamless cubemap texture filtering

ShaderProgram

Encapsulates a Shader Program

ShaderProgramBuilder

Generates a Shader Program content from loaded graphs

SortPolicy

Provides storage for the sort types to be used

SpotLight

Encapsulate a Spot Light object in a Qt 3D scene

StencilMask

Type controls the front and back writing of individual bits in the stencil planes

StencilOperation

Type specifies stencil operation

StencilOperationArguments

Type sets the actions to be taken when stencil and depth tests fail

StencilTest

Type specifies arguments for the stecil test

StencilTestArguments

Type specifies arguments for stencil test

Technique

Encapsulates a Technique

TechniqueFilter

A FrameGraphNode used to select used Techniques

TextureImage

Encapsulates the necessary information to create an OpenGL texture image from an image source

TextureLoader

Handles the texture loading and setting the texture's properties

Viewport

A viewport on the Qt3D Scene

Qt 3D Extras Module

ConeGeometry

Allows creation of a cone in 3D space

ConeMesh

A conical mesh

CuboidGeometry

Allows creation of a cuboid in 3D space

CuboidMesh

A cuboid mesh

CylinderGeometry

Allows creation of a cylinder in 3D space

CylinderMesh

A cylindrical mesh

DiffuseSpecularMaterial

Default implementation of the phong lighting effect

ExtrudedTextGeometry

Allows creation of a 3D text in 3D space

ExtrudedTextMesh

A 3D extruded Text mesh

FirstPersonCameraController

Allows controlling the scene camera from the first person perspective

ForwardRenderer

Default FrameGraph implementation of a forward renderer

GoochMaterial

Material that implements the Gooch shading model, popular in CAD and CAM applications

MetalRoughMaterial

This material uses an effect with a single render pass approach and performs per fragment lighting. Techniques are provided for OpenGL 3 and OpenGL ES 3

OrbitCameraController

Allows controlling the scene camera along orbital path

PerVertexColorMaterial

Default implementation for rendering the color properties set for each vertex

PlaneGeometry

Allows creation of a plane in 3D space

PlaneMesh

A square planar mesh

SkyboxEntity

Convenience Entity subclass that can be used to insert a skybox in a 3D scene

SphereGeometry

Allows creation of a sphere in 3D space

SphereMesh

A spherical mesh

Text2DEntity

Allows creation of a 2D text in 3D space

TorusGeometry

Allows creation of a torus in 3D space

TorusMesh

A toroidal mesh

Qt 3D Animation Module

AbstractAnimation

An abstract base type for Qt3D animations

AbstractClipAnimator

The base class for types providing animation playback capabilities

AbstractClipBlendNode

The base class for types used to construct animation blend trees

AdditiveClipBlend

Performs an additive blend of two animation clips based on an additive factor

AnimationController

A controller type for animations

AnimationGroup

A type grouping animations together

BlendedClipAnimator

Component providing animation playback capabilities of a tree of blend nodes

ClipAnimator

Component providing simple animation playback capabilities

ClipBlendValue

Type used for including a clip in a blend tree

KeyframeAnimation

A type implementing simple keyframe animation to a Transform

LerpClipBlend

Performs a linear interpolation of two animation clips based on a normalized factor

MorphTarget

A type providing morph targets to blend-shape animation

MorphingAnimation

A type implementing blend-shape morphing animation

VertexBlendAnimation

A type implementing vertex-blend morphing animation

Qt 3D Scene2D Module

Scene2D

This type enables rendering qml into a texture, which then can be used as a part of 3D scene

Qt 3D Scene3D Module

Scene3D

Type is used to integrate a Qt3D scene into a QtQuick 2 scene

© 2021 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.