- Qt 6.4
- Qt 3D
- Qt 3D Extras C++ Classes
- Qt 6.4.2 Reference Documentation

# Qt 3D Extras C++ Classes

The Qt 3D Extras module provides a set of prebuilt elements to help you get started with Qt 3D. More...

This module is under development and is subject to change.

## Namespaces

Qt3DExtras | Contains classes from the Qt3DExtras module

## Classes

Qt3DExtras::QAbstractCameraController | Basic functionality for camera controllers
Qt3DExtras::QConeGeometry | Allows creation of a cone in 3D space. * * * * * The QConeGeometry class is most commonly used internally by the QConeMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses. The class * allows for creation of both a cone and a truncated cone
Qt3DExtras::QConeGeometryView | A conical mesh
Qt3DExtras::QConeMesh | A conical mesh
Qt3DExtras::QCuboidGeometry | Allows creation of a cuboid in 3D space. * * * * * The QCuboidGeometry class is most commonly used internally by the QCuboidMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QCuboidGeometryView | A cuboid mesh
Qt3DExtras::QCuboidMesh | A cuboid mesh
Qt3DExtras::QCylinderGeometry | Allows creation of a cylinder in 3D space. * * * * * The QCylinderGeometry class is most commonly used internally by the QCylinderMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QCylinderGeometryView | A cylindrical mesh
Qt3DExtras::QCylinderMesh | A cylindrical mesh
Qt3DExtras::QDiffuseSpecularMaterial | Default implementation of the phong lighting effect
Qt3DExtras::QExtrudedTextGeometry | Allows creation of a 3D extruded text in 3D space
Qt3DExtras::QExtrudedTextMesh | A 3D extruded Text mesh
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::QOrbitCameraController | Allows controlling the scene camera along orbital path
Qt3DExtras::QPerVertexColorMaterial | Default implementation for rendering the color properties set for each vertex
Qt3DExtras::QPlaneGeometry | Allows creation of a plane in 3D space. * * * * The QPlaneGeometry class is most commonly used internally by the QPlaneMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QPlaneGeometryView | A square planar mesh
Qt3DExtras::QPlaneMesh | A square planar mesh
Qt3DExtras::QSkyboxEntity | Qt3DExtras::QSkyboxEntity is a convenience Qt3DCore::QEntity subclass that can be used to insert a skybox in a 3D scene
Qt3DExtras::QSphereGeometry | Allows creation of a sphere in 3D space. * * * * * The QSphereGeometry class is most commonly used internally by the QSphereMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QSphereGeometryView | A spherical mesh
Qt3DExtras::QSphereMesh | A spherical mesh
Qt3DExtras::QText2DEntity | Allows creation of a 2D text in 3D space
Qt3DExtras::QTextureMaterial | Default implementation of a simple unlit texture material
Qt3DExtras::QTorusGeometry | Allows creation of a torus in 3D space. * * * * * The QTorusGeometry class is most commonly used internally by the QTorusMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QTorusGeometryView | A toroidal mesh
Qt3DExtras::QTorusMesh | A toroidal mesh

## Detailed Description

This module is still in development but is available as a technology preview. This means it is unstable, likely to change and provided as a convenience only.

     #include <Qt3DExtras>

To link against the corresponding C++ library, add the following to your qmake project file:

     QT += 3dextras

Classes, types, and functions are declared under the Qt3DExtras namespace.

### Overview

#### Materials

Qt3DExtras::QDiffuseSpecularMaterial | Default implementation of the phong lighting effect
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::QPerVertexColorMaterial | Default implementation for rendering the color properties set for each vertex
Qt3DExtras::QTextureMaterial | Default implementation of a simple unlit texture material

#### Meshes and Geometries

Qt3DExtras::QConeGeometry | Allows creation of a cone in 3D space. * * * * * The QConeGeometry class is most commonly used internally by the QConeMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses. The class * allows for creation of both a cone and a truncated cone
Qt3DExtras::QConeGeometryView | A conical mesh
Qt3DExtras::QConeMesh | A conical mesh
Qt3DExtras::QCuboidGeometry | Allows creation of a cuboid in 3D space. * * * * * The QCuboidGeometry class is most commonly used internally by the QCuboidMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QCuboidGeometryView | A cuboid mesh
Qt3DExtras::QCuboidMesh | A cuboid mesh
Qt3DExtras::QCylinderGeometry | Allows creation of a cylinder in 3D space. * * * * * The QCylinderGeometry class is most commonly used internally by the QCylinderMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QCylinderGeometryView | A cylindrical mesh
Qt3DExtras::QCylinderMesh | A cylindrical mesh
Qt3DExtras::QPlaneGeometry | Allows creation of a plane in 3D space. * * * * The QPlaneGeometry class is most commonly used internally by the QPlaneMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QPlaneGeometryView | A square planar mesh
Qt3DExtras::QPlaneMesh | A square planar mesh
Qt3DExtras::QSphereGeometry | Allows creation of a sphere in 3D space. * * * * * The QSphereGeometry class is most commonly used internally by the QSphereMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QSphereGeometryView | A spherical mesh
Qt3DExtras::QSphereMesh | A spherical mesh
Qt3DExtras::QTorusGeometry | Allows creation of a torus in 3D space. * * * * * The QTorusGeometry class is most commonly used internally by the QTorusMesh * but can also be used in custom Qt3DRender::QGeometryRenderer subclasses
Qt3DExtras::QTorusGeometryView | A toroidal mesh
Qt3DExtras::QTorusMesh | A toroidal mesh

#### Camera Controllers

Qt3DExtras::QFirstPersonCameraController | Allows controlling the scene camera from the first person perspective
Qt3DExtras::QOrbitCameraController | Allows controlling the scene camera along orbital path

#### Entities

- Qt3DExtras::QSkyboxEntity

#### FrameGraphs

- Qt3DExtras::QForwardRenderer

#### Window

- Qt3DExtras::Qt3DWindow

Note: The Quick3DExtras module also specifies a Qt3DExtras::Quick::Qt3DQuickWindow.

### Reference

- Qt 3D Extras C++ Classes
- Qt 3D Examples