Qt Quick 3D Reference Documentation

AdditiveColorGradient

Affector3D

Anti-Aliasing Best Practices

Causes of Aliasing

Geometry Aliasing

Texture Aliasing

Reflection Aliasing

Anti-Aliasing Techniques

Techniques that find additional information

Multisample Anti-Aliasing

Temporal Anti-Aliasing

Progressive Anti-Aliasing

Mipmaps

Supersample Anti-Aliasing

Artist-Employed Cheats

Silhouette Opacity Maps

Modifying Materials or Geometry

Attractor3D

AxisHelper

BakedLightmap

Balsam Asset Import Tool

Example Usage

Supported 3D Asset Types

Baking for Image-Based Lighting

Supported Options

Blur

Bounds

BrushStrokes

Buffer

BufferInput

Camera

Changes to Qt Quick 3D

RHI

Other API changes

QML import version

Lighting

Custom Materials

Post-processing Effects

Principled Material

Default Material

Predefined materials

Tessellation and displacement maps

Qt Quick Items as children of 3D Nodes

ChromaticAberration

ColorMaster

Command

CubeMapTexture

Custom Material Editor

The Material Editor tool

Usage

Shader editing

Material properties

Preview

Uniforms

Output panel

Importing shaders

Saving and loading projects.

Exporting.

CustomCamera

CustomMaterial

Introduction

Two flavors of custom materials

Exposing data to the shaders

Unshaded custom materials

Shaded custom materials

Vertex shader snippets in a shaded custom material

Fragment shader snippets in a shaded custom material

Custom variables between functions

Additional special keywords

Instancing

Screen, depth, and other textures

DebugView

DefaultMaterial

Specular/Glossiness workflow

Specular

Glossiness (Roughness)

Diffuse color

DepthOfFieldHQBlur

Desaturate

Direction3D

DirectionalLight

DistortionRipple

DistortionSphere

DistortionSpiral

DynamicBurst3D

EdgeDetect

Effect

Post-processing effects

Exposing data to the shaders

Getting started with effects

Effects with vertex shaders

Special keywords in effect shaders

Building multi-pass effects

Performance considerations

Emboss

EmitBurst3D

Exporting from 3D Studio Max

Exporting OpenCOLLADA from 3D Studio Max

Exporting from Blender

Exporting Models

Create Material Slots

UV Unwrap Models

Triangulate

Bake Actions for Animations

Apply Location, Rotation, and Scale

Exporting Lights

Exporting Cameras

Exporting COLLADA from Blender

Exporting FBX from Blender

Exporting from Maya

Exporting OpenCOLLADA from Maya

Exporting from Modo

Exporting COLLADA from Modo

Exporting FBX from Modo

FileInstancing

Flip

FrustumCamera

Fxaa

GaussianBlur

Geometry

Gravity3D

GridGeometry

HDRBloomTonemap

HeightFieldGeometry

InstanceList

InstanceListEntry

InstanceModel

InstanceRange

InstanceRepeater

Instanced Rendering

Introduction

Instancing API

Alpha-blending and instancing

Transforms and instancing

Instancer Tool

Usage

Instancing

Intel Embree, version 3.13.3

Embree

Joint

Light

Lightmapper

Lightmaps and Global Illumination

Introduction

Important considerations when working with lightmaps

Baking Lightmaps

Denoising

Lightmap UVs

Lightmap texture size

Using Lightmaps at Run-Time

LineParticle3D

Loader3D

LookAtNode

Material

Model

Mesh format and built-in primitives

Custom geometry

Materials

Picking

ModelBlendParticle3D

ModelParticle3D

MorphTarget

Morphing Animation

Introduction

MotionBlur

Node

Object3D

Open Asset Import Library, version 5.2.3

Optimizing 2D Assets

Motivation

Reducing Image Dimensions

Using MipMaps

MipMaps and Image Dimensions

Saving Alpha Channels

Optimizing 3D Assets

3D Content Overview

Geometry

Animations

Materials

Lights and Cameras

Other

Exporting from Different Tools

OrbitCameraController

OrthographicCamera

Particle3D

ParticleAbstractShape3D

ParticleCustomShape3D

ParticleEmitter3D

ParticleModelShape3D

ParticleShape3D

ParticleSystem3D

ParticleSystem3DLogging

Pass

PerspectiveCamera

Physically-Based Rendering

Introduction

Materials

PickResult

PointLight

A simple example: shading a sphere in three different ways

PointRotator3D

PrincipledMaterial

Metal/Roughness workflow

Metalness

Roughness

Base color

ProceduralSky

ProceduralSkyTextureData

Programmable Materials, Effects, Geometry, and Texture data

Programmability for Materials

Our first vertex shader

Uniforms from QML properties

Improving the example

Adding a fragment shader

Colors

Blending

Passing data between the vertex and fragment shader

Textures

Depth and screen textures

Light processor functions

Unshaded custom materials

Programmability for Effects

A post-processing effect

Chaining multiple effects

Defining Mesh and Texture Data from C++

Custom vertex data

Custom texture data

Qt Quick 3D

Using the Module

QML API

C++ API

Building with CMake

Building with qmake

Building From Source

Module Evolution

Articles and Guides

Examples

Reference

Related Modules

Licenses and Attributions

Qt Quick 3D - Antialiasing Example

The test scene

Controlling antialiasing

Qt Quick 3D - Baked Lightmap Example

Setting up the Light

Setting up the Model

Qt Quick 3D - Custom Effect Example

Qt Quick 3D - Custom Geometry Example

Qt Quick 3D - Custom Instanced Rendering

Custom instancing table

Custom material

Using the custom table and material in QML

Qt Quick 3D - Custom Materials Example

A simple material

Custom handling of lights

Adding a vertex shader

A transparent material

Unshaded materials

Qt Quick 3D - Custom Morphing Animation

Custom geometry

QML part

Qt Quick 3D - Custom Shaders Example

Implementing a custom material

Using a custom material

Qt Quick 3D - Dynamic Model Creation Example

Setting Up

Spawner Node

Startup

Dynamic Models

Adding Models

Removing Models

Qt Quick 3D - Dynamic Texture Example

The 2D scene

The 3D view

Qt Quick 3D - Effects Example

Qt Quick 3D - HelloCube Example

Draw 2D Items

Draw a 3D Cube

Qt Quick 3D - Instanced Rendering Example

Random instancing

Qt Quick 3D - Introduction

Setting Up the Scene

Meshes

Camera

Lights

Animation

Qt Quick 3D - Lights Example

Setting the Scene Lights

Directional Light

Point Light

Spot Light

Setting the Scene Models

Qt Quick 3D - Morphing Example

Creating a mesh

Controlling the morph targets

Qt Quick 3D - Particles 3D Testbed Example

Common Features

Snowing Example

Qt Quick 3D - Picking example

Making Model Pickable

Getting Pick Results

Qt Quick 3D - Principled Material Example

Usage

SpecularGlossyMaterial

Resource Loader

Qt Quick 3D - Procedural Texture Example

Qt Quick 3D - Quick Ball Example

Qt Quick 3D - Quick Items Example

Quick Items in a Quick 3D Scene

The test scene

Qt Quick 3D - Reflection Probes Example

The scene

Settings panel

Reflection Map Settings

Reflection Probe Settings

Particles Settings

Model Settings

Qt Quick 3D - Robot Arm Example

Qt Quick 3D - RuntimeLoader Example

Error handling

Moving the camera

Instancing

Qt Quick 3D - Screen Space Reflections Example

Shader Code

Helper functions

Qt Quick 3D - Simple Skinning Example

Make a skinning geometry.

Set up skinned data in QML

Position data and indexes

Joints and weights data

Skeleton and Joint hierarchy

Placing models using inverseBindPoses

Animate with Joint nodes

A more complete approach to skinning

Qt Quick 3D - Sub-mesh Example

Sub-meshes and materials

Qt Quick 3D - View3D Example

Defining the Cameras

Adding the Views

Qt Quick 3D Architecture

Module Overview

QML Imports

C++ Libraries

AssetImporters Plugins

How does Qt Quick 3D fit into the Qt Graphics Stack

3D in 2D Integration

Offscreen

Underlay

Overlay

Inline

2D in 3D Integration

Direct Path

Texture Path

Scene Synchronization

Scene Manager

Frontend/Backend Synchronization

Qt Quick Spatial Scene Graph

Spatial Objects

Resource Objects

View3D and Render Layers

Scene Rendering

Set up Render Target

Prepare for Render

High level render preparation

Low Level render preparation

Scene Rendering

Post Processing

Post Processing Effects

Temporal and Progressive Antialiasing

Super Sampling Antialiasing (SSAA)

Qt Quick 3D Graphics Requirements

Supported graphics APIs, versions, and shading languages

Choosing the graphics API

OpenGL specifics

OpenGL ES 2.0 support

Qt Quick 3D Scenes with 2D Content

2D Items in a 3D World

Adding 2D Items to 3D Nodes

Coordinate Spaces in 2D and 3D

Further Considerations

Quaternion

QuaternionAnimation

RandomInstancing

ReflectionProbe

RenderStats

Repeater3D

Repeller3D

ResourceLoader

RuntimeLoader

SCurveTonemap

ScaleAffector3D

Scatter

SceneEnvironment

SetUniformValue

Shader

Shadergen Tool

Usage

Command line arguments

Generated content

Dynamic properties

Skeleton

Skin

SpecularGlossyMaterial

Specular/Glossiness workflow

Specular

Glossiness

Albedo

SpotLight

SpriteParticle3D

SpriteSequence3D

TargetDirection3D

Texture

TextureData

TextureInput

TiltShift

Tiny OpenEXR, version v1.0.1

TrailEmitter3D

Using Image-Based Lighting

Introduction

Scene Lighting

Material Lighting

Pre-generating IBL cubemap

Manual baking

Build time baking via CMake

VectorDirection3D

Vertex Skinning

Introduction

Defining a skeleton

Connecting a skeleton to a model

Animating the skeleton

View3D

Vignette

Wander3D

WasdController

xatlas, version 16ace528acd2cf1f16a7c0dde99c42c486488dbe

Qt Quick 3D Asset Conditioning

Optimizing Assets

Qt Quick 3D Examples and Tutorials

Qt Quick 3D C++ Classes

QtQuick3D C++ Types

Qt Quick 3D QML Types

QtQuick3D QML Types

QtQuick3D.Helpers QML Types

QtQuick3D.AssetUtils QML Types

QtQuick3D.Particles3D QML Types

Qt Quick 3D Asset Utility QML Types

Qt Quick 3D Effects QML Types

Qt Quick 3D Helpers QML Types

Qt Quick 3D Particles3D QML Types