Qt 5.9 | Qt 3D | Qt 3D C++ Classes

Qt 5.9.3 Reference Documentation

# Qt 3D C++ Classes

The Qt 3D module provides the foundations and core types used for near-realtime simulations built on the Qt 3D framework.

## Namespaces

Qt3DAnimation | Contains classes from the Qt3DAnimation module
Qt3DCore | Contains classes that are the foundation for Qt 3D simulation framework, as well as classes that provide the ability to render using the Qt 3D framework
Qt3DExtras | Contains classes from the Qt3DExtras module
Qt3DRender | Contains classes that enable 2D and 3D rendering
Qt3DInput | Contains classes that enable user input
Qt3DLogic | Contains classes that enable frame synchronization

## Classes

### Qt 3D Core Module

Qt3DCore::QAbstractAspect | The base class for aspects that provide a vertical slice of behavior
Qt3DCore::QAspectEngine | Responsible for handling all the QAbstractAspect subclasses that have been registered with the scene
Qt3DCore::QComponentAddedChange | Used to notify when a component is added to an entity
Qt3DCore::QComponentRemovedChange | Used to notify when a component is removed from an entity
Qt3DCore::QDynamicPropertyUpdatedChange | Used to notify when a dynamic property value is updated
Qt3DCore::QNodeCreatedChange | Used to notify when a node is created
Qt3DCore::QNodeCreatedChangeBase | The base class for all NodeCreated QSceneChange events
Qt3DCore::QNodeDestroyedChange | Used to notify when a node is destroyed
Qt3DCore::QPropertyNodeAddedChange | Used to notify when a node is added to a property
Qt3DCore::QPropertyNodeRemovedChange | Used to notify when a node is removed from a property
Qt3DCore::QPropertyUpdatedChange | Used to notify when a property value is updated
Qt3DCore::QPropertyUpdatedChangeBase | The base class for all PropertyUpdated QSceneChange events
Qt3DCore::QPropertyValueAddedChange | Used to notify when a value is added to a property
Qt3DCore::QPropertyValueAddedChangeBase | The base class for all PropertyValueAdded QSceneChange events
Qt3DCore::QPropertyValueRemovedChange | Used to notify when a value is added to a property
Qt3DCore::QPropertyValueRemovedChangeBase | The base class for all PropertyValueRemoved QSceneChange events
Qt3DCore::QSceneChange | Base class for changes that can be sent and received by Qt3D's change notification system
Qt3DCore::QStaticPropertyUpdatedChangeBase | The base class for all static PropertyUpdated QSceneChange events
Qt3DCore::QStaticPropertyValueAddedChangeBase | The base class for all static PropertyValueAdded QSceneChange events
Qt3DCore::QStaticPropertyValueRemovedChangeBase | The base class for all static PropertyValueRemoved QSceneChange events
Qt3DCore::QAspectJob | Base class for jobs executed in an aspect
Qt3DCore::QBackendNode | Base class for all Qt3D backend nodes
Qt3DCore::QBackendNodeMapper | Creates and maps backend nodes to their respective frontend nodes
Qt3DCore::QComponent | Base class of scene nodes that can be aggregated by Qt3DCore::QEntity instances as a component
Qt3DCore::QEntity | Qt3DCore::QEntity is a Qt3DCore::QNode subclass that can aggregate several Qt3DCore::QComponent instances that will specify its behavior
Qt3DCore::QNode | The base class of all Qt3D node classes used to build a Qt3D scene
Qt3DCore::QNodeId | Uniquely identifies a QNode
Qt3DCore::QTransform | Used to perform transforms on meshes
Qt3DCore::Quick::QQmlAspectEngine | Environment for the QAspectEngine and a method for instantiating QML components

### Qt 3D Input Module

Qt3DInput::QAbstractActionInput | The base class for the Action Input and all Aggregate Action Inputs
Qt3DInput::QAbstractAxisInput | QAbstractActionInput is the base class for all Axis Input
Qt3DInput::QAbstractPhysicalDevice | The base class used by Qt3d to interact with arbitrary input devices
Qt3DInput::QAction | Links a set of QAbstractActionInput that trigger the same event
Qt3DInput::QActionInput | Stores Device and Buttons used to trigger an input event
Qt3DInput::QAnalogAxisInput | An axis input controlled by an analog input The axis value is controlled like a traditional analog input such as a joystick
Qt3DInput::QAxis | Stores QAbstractAxisInputs used to trigger an input event
Qt3DInput::QAxisAccumulator | Processes velocity or acceleration data from a QAxis
Qt3DInput::QAxisSetting | Stores settings for the specified list of Axis
Qt3DInput::QButtonAxisInput | An axis input controlled by buttons The axis value is controlled by buttons rather than a traditional analog input such as a joystick
Qt3DInput::QInputAspect | Responsible for creating physical devices and handling associated jobs
Qt3DInput::QInputChord | Represents a set of QAbstractActionInput's that must be triggerd at once
Qt3DInput::QInputSequence | Represents a set of QAbstractActionInput's that must be triggerd one after the other
Qt3DInput::QInputSettings | Holds the pointer to an input event source object
Qt3DInput::QKeyboardDevice | In charge of dispatching keyboard events to attached QQKeyboardHandler objects
Qt3DInput::QKeyboardHandler | Provides keyboard event notification
Qt3DInput::QKeyEvent | Event type send by KeyBoardHandler
Qt3DInput::QLogicalDevice | Allows the user to define a set of actions that they wish to use within an application
Qt3DInput::QMouseDevice | Delegates mouse events to the attached MouseHandler objects
Qt3DInput::QMouseEvent | Qt3DCore::QMouseEvent contains parameters that describe a mouse event
Qt3DInput::QWheelEvent | Contains parameters that describe a mouse wheel event
Qt3DInput::QMouseHandler | Provides a means of being notified about mouse events when attached to a QMouseDevice instance

### Qt 3D Logic Module

Qt3DLogic::QFrameAction | Provides a way to have a synchronous function executed each frame
Qt3DLogic::QLogicAspect | Responsible for handling frame synchronization jobs

### Qt 3D Render Module

Qt3DRender::AssimpImporter | Provides a generic way of loading various 3D assets format into a Qt3D scene
Qt3DRender::QBufferCapture | Exchanges buffer data between GPU and CPU
Qt3DRender::QCameraSelector | Class to allow for selection of camera to be used
Qt3DRender::QClearBuffers | Class to clear buffers
Qt3DRender::QDispatchCompute | FrameGraph node to issue work for the compute shader on GPU
Qt3DRender::QFrameGraphNode | Base class of all FrameGraph configuration nodes
Qt3DRender::QFrameGraphNodeCreatedChangeBase | A base class for changes in the FrameGraphNode
Qt3DRender::QFrustumCulling | Enable frustum culling for the FrameGraph
Qt3DRender::QLayerFilter | Controls layers Drawn in a frame graph branch
Qt3DRender::QMemoryBarrier | Class to emplace a memory barrier
Qt3DRender::QNoDraw | When a Qt3DRender::QNoDraw node is present in a FrameGraph branch, this prevents the renderer from rendering any primitive
Qt3DRender::QRenderCapture | Frame graph node for render capture
Qt3DRender::QRenderCaptureReply | Receives the result of render capture request
Qt3DRender::QRenderPassFilter | Provides storage for vectors of Filter Keys and Parameters
Qt3DRender::QRenderStateSet | FrameGraph node offers a way of specifying a set of QRenderState objects to be applied during the execution of a framegraph branch
Qt3DRender::QRenderSurfaceSelector | Provides a way of specifying the render surface
Qt3DRender::QRenderTargetSelector | Provides a way of specifying a render target
Qt3DRender::QSortPolicy | Provides storage for the sort types to be used
Qt3DRender::QTechniqueFilter | A QFrameGraphNode used to select QTechniques to use
Qt3DRender::QViewport | A viewport on the Qt3D Scene
Qt3DRender::QAbstractFunctor | Abstract base class for all functors
Qt3DRender::QCamera | Defines a view point through which the scene will be rendered
Qt3DRender::QCameraLens | Qt3DRender::QCameraLens specifies the projection matrix that will be used to define a Camera for a 3D scene
Qt3DRender::QComputeCommand | QComponent to issue work for the compute shader on GPU
Qt3DRender::QLayer | Way of filtering which entities will be rendered
Qt3DRender::QLevelOfDetail | Way of controlling the complexity of rendered entities based on their size on the screen
Qt3DRender::QLevelOfDetailBoundingSphere | Simple spherical volume, defined by it's center and radius
Qt3DRender::QLevelOfDetailSwitch | Provides a way of enabling child entities based on distance or screen size
Qt3DRender::QPickingSettings | Specifies how entity picking is handled
Qt3DRender::QRenderAspect |
Qt3DRender::QRenderSettings | Holds settings related to rendering process and host the active FrameGraph
Qt3DRender::QRenderTarget | Encapsulates a target (usually a frame buffer object) which the renderer can render into
Qt3DRender::QRenderTargetOutput | Allows the specification of an attachment of a render target (whether it is a color texture, a depth texture, etc... )
Qt3DRender::QAttribute | Defines an attribute and how data should be read from a QBuffer
Qt3DRender::QBuffer | Provides a data store for raw data to later be used as vertices or uniforms
Qt3DRender::QBufferDataGenerator | Provides a mechanism to generate buffer data from a job
Qt3DRender::QGeometry | Encapsulates geometry
Qt3DRender::QGeometryRenderer | Encapsulates geometry rendering
Qt3DRender::QMesh | A custom mesh loader
Qt3DRender::QSceneLoader | Provides the facility to load an existing Scene
Qt3DRender::QAbstractLight | Encapsulate a QAbstractLight object in a Qt 3D scene
Qt3DRender::QDirectionalLight | Encapsulate a Directional Light object in a Qt 3D scene
Qt3DRender::QEnvironmentLight | Encapsulate an environment light object in a Qt 3D scene
Qt3DRender::QPointLight | Encapsulate a Point Light object in a Qt 3D scene
Qt3DRender::QSpotLight | Encapsulate a Spot Light object in a Qt 3D scene
Qt3DRender::QEffect | Base class for effects in a Qt 3D scene
Qt3DRender::QFilterKey | Storage for filter keys and their values
Qt3DRender::QGraphicsApiFilter | Identifies the API required for the attached QTechnique
Qt3DRender::QMaterial | Provides an abstract class that should be the base of all material component classes in a scene
Qt3DRender::QParameter | Provides storage for a name and value pair. This maps to a shader uniform
Qt3DRender::QRenderPass | Encapsulates a Render Pass
Qt3DRender::QShaderData | Provides a way of specifying values of a Uniform Block or a shader structure
Qt3DRender::QShaderProgram | Encapsulates a Shader Program
Qt3DRender::QTechnique | Encapsulates a Technique
Qt3DRender::QObjectPicker | Instantiates a component that can be used to interact with a QEntity by a process known as picking
Qt3DRender::QPickEvent | Holds information when an object is picked
Qt3DRender::QPickTriangleEvent | Holds information when a triangle is picked
Qt3DRender::QAlphaCoverage | Enable alpha-to-coverage multisampling mode
Qt3DRender::QAlphaTest | Specify alpha reference test
Qt3DRender::QBlendEquation | Specifies the equation used for both the RGB blend equation and the Alpha blend equation
Qt3DRender::QBlendEquationArguments | 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)
Qt3DRender::QClipPlane | Enables an additional OpenGL clipping plane that can be in shaders using gl_ClipDistance
Qt3DRender::QColorMask | Allows specifying which color components should be written to the currently bound frame buffer
Qt3DRender::QCullFace | Specifies whether front or back face culling are enabled
Qt3DRender::QDepthTest | Tests the fragment shader's depth value against the depth of a sample being written to
Qt3DRender::QDithering | Enable dithering
Qt3DRender::QFrontFace | Defines front and back facing polygons
Qt3DRender::QMultiSampleAntiAliasing | Enable multisample antialiasing
Qt3DRender::QNoDepthMask | Disable depth write
Qt3DRender::QPointSize | Specifies the size of rasterized points. May either be set statically or by shader programs
Qt3DRender::QPolygonOffset | Sets the scale and steps to calculate depth values for polygon offsets
Qt3DRender::QRenderState | An abstract base class for all render states
Qt3DRender::QScissorTest | Discards fragments that fall outside of a certain rectangular portion of the screen
Qt3DRender::QSeamlessCubemap | Enables seamless cubemap texture filtering
Qt3DRender::QStencilMask | Controls the front and back writing of individual bits in the stencil planes
Qt3DRender::QStencilOperation | Specifies stencil operation
Qt3DRender::QStencilOperationArguments | Sets the actions to be taken when stencil and depth tests fail
Qt3DRender::QStencilTest | Specifies arguments for the stecil test
Qt3DRender::QStencilTestArguments | Specifies arguments for stencil test
Qt3DRender::QAbstractTexture | A base class to be used to provide textures
Qt3DRender::QAbstractTextureImage | Encapsulates the necessary information to create an OpenGL texture image
Qt3DRender::QPaintedTextureImage | A QAbstractTextureImage that can be written through a QPainter
Qt3DRender::QTexture1D | A QAbstractTexture with a Target1D target format
Qt3DRender::QTexture1DArray | A QAbstractTexture with a Target1DArray target format
Qt3DRender::QTexture2D | A QAbstractTexture with a Target2D target format
Qt3DRender::QTexture2DArray | A QAbstractTexture with a Target2DArray target format
Qt3DRender::QTexture2DMultisample | A QAbstractTexture with a Target2DMultisample target format
Qt3DRender::QTexture2DMultisampleArray | A QAbstractTexture with a Target2DMultisampleArray target format
Qt3DRender::QTexture3D | A QAbstractTexture with a Target3D target format
Qt3DRender::QTextureBuffer | A QAbstractTexture with a TargetBuffer target format
Qt3DRender::QTextureCubeMap | A QAbstractTexture with a TargetCubeMap target format
Qt3DRender::QTextureCubeMapArray | A QAbstractTexture with a TargetCubeMapArray target format
Qt3DRender::QTextureLoader | Handles the texture loading and setting the texture's properties
Qt3DRender::QTextureRectangle | A QAbstractTexture with a TargetRectangle target format
Qt3DRender::QTextureData | Stores texture information such as the target, height, width, depth, layers, wrap, and if mipmaps are enabled
Qt3DRender::QTextureImage | Encapsulates the necessary information to create an OpenGL texture image from an image source
Qt3DRender::QTextureImageData | Stores data representing a texture
Qt3DRender::QTextureImageDataGenerator | Provides texture image data for QAbstractTextureImage
Qt3DRender::QTextureWrapMode | Defines the wrap mode a Qt3DRender::QAbstractTexture should apply to a texture

### Qt 3D Extras Module

Qt3DExtras::QExtrudedTextGeometry | Allows creation of a 3D extruded text in 3D space
Qt3DExtras::QExtrudedTextMesh | A 3D extruded Text mesh
Qt3DExtras::QDiffuseMapMaterial | Default implementation of the phong lighting effect where the diffuse light component is read from a texture map
Qt3DExtras::QDiffuseSpecularMapMaterial | Default implementation of the phong lighting effect where the diffuse and specular light components are read from texture maps
Qt3DExtras::QFirstPersonCameraController | Allows controlling the scene camera from the first person perspective
Qt3DExtras::QForwardRenderer | Default FrameGraph implementation of a forward renderer
Qt3DExtras::QGoochMaterial | Material that implements the Gooch shading model, popular in CAD and CAM applications
Qt3DExtras::QMetalRoughMaterial | Default implementation of PBR lighting
Qt3DExtras::QMorphPhongMaterial | Default implementation of the phong lighting effect
Qt3DExtras::QNormalDiffuseMapAlphaMaterial | Specialization of QNormalDiffuseMapMaterial with alpha coverage and a depth test performed in the rendering pass
Qt3DExtras::QNormalDiffuseMapMaterial | Default implementation of the phong lighting and bump effect where the diffuse light component is read from a texture map and the normals of the mesh being rendered from a normal texture map
Qt3DExtras::QNormalDiffuseSpecularMapMaterial | Default implementation of the phong lighting and bump effect where the diffuse and specular light components are read from texture maps and the normals of the mesh being rendered from a normal texture map
Qt3DExtras::QOrbitCameraController | Allows controlling the scene camera along orbital path
Qt3DExtras::QPerVertexColorMaterial | Default implementation for rendering the color properties set for each vertex
Qt3DExtras::QPhongAlphaMaterial | Default implementation of the phong lighting effect with alpha
Qt3DExtras::QPhongMaterial | Default implementation of the phong lighting effect
Qt3DExtras::QSkyboxEntity | Qt3DExtras::QSkyboxEntity is a convenience Qt3DCore::QEntity subclass that can be used to insert a skybox in a 3D scene
Qt3DExtras::QTexturedMetalRoughMaterial | Default implementation of PBR lighting, environment maps and bump effect where the components are read from texture maps (including normal maps)
Qt3DExtras::QTextureMaterial | Default implementation of a simple unlit texture material
Qt3DExtras::QConeGeometry | Allows creation of a cone in 3D space
Qt3DExtras::QConeMesh | A conical mesh
Qt3DExtras::QCuboidGeometry | Allows creation of a cuboid in 3D space
Qt3DExtras::QCuboidMesh | A cuboid mesh
Qt3DExtras::QCylinderGeometry | Allows creation of a cylinder in 3D space
Qt3DExtras::QCylinderMesh | A cylindrical mesh
Qt3DExtras::QPlaneGeometry | Allows creation of a plane in 3D space
Qt3DExtras::QPlaneMesh | A square planar mesh
Qt3DExtras::QSphereGeometry | Allows creation of a sphere in 3D space
Qt3DExtras::QSphereMesh | A spherical mesh
Qt3DExtras::QTorusGeometry | Allows creation of a torus in 3D space
Qt3DExtras::QTorusMesh | A toroidal mesh

### Qt 3D Animation Module

Qt3DAnimation::QAbstractAnimation | An abstract base class for Qt3D animations
Qt3DAnimation::QAbstractAnimationClip | The base class for types providing key frame animation data
Qt3DAnimation::QAbstractClipAnimator | The base class for types providing animation playback capabilities
Qt3DAnimation::QAbstractClipBlendNode | The base class for types used to construct animation blend trees
Qt3DAnimation::QAdditiveClipBlend | Performs an additive blend of two animation clips based on an additive factor
Qt3DAnimation::QAnimationAspect | Provides key-frame animation capabilities to Qt 3D
Qt3DAnimation::QAnimationController | A controller class for animations
Qt3DAnimation::QAnimationGroup | A class grouping animations together
Qt3DAnimation::QBlendedClipAnimator | Component providing animation playback capabilities of a tree of blend nodes
Qt3DAnimation::QClipAnimator | Component providing simple animation playback capabilities
Qt3DAnimation::QKeyframeAnimation | A class implementing simple keyframe animation to a QTransform
Qt3DAnimation::QLerpClipBlend | Performs a linear interpolation of two animation clips based on a normalized factor
Qt3DAnimation::QMorphingAnimation | A class implementing blend-shape morphing animation
Qt3DAnimation::QMorphTarget | A class providing morph targets to blend-shape animation
Qt3DAnimation::QVertexBlendAnimation | A class implementing vertex-blend morphing animation

### Qt 3D Scene2D Module

Qt3DRender::Quick::QScene2D | This class enables rendering qml into a texture, which then can be used as a part of 3D scene