Revision control

Copy as Markdown

// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\example antialiasing
\ingroup quick3d-examples
\title Qt Quick 3D - Antialiasing Example
\examplecategory {3D}
\brief Demonstrates the antialiasing modes in Qt Quick 3D.
\image antialiasing-example.png
{Green cube, gray sphere, and yellow cube with antialiasing
settings panel}
The \e {Antialiasing} example demonstrates how to control antialiasing in Qt Quick
3D. It shows a simple scene that exhibits antialiasing artifacts. There is a
simple Qt Quick user interface that allows choosing between the antialiasing
types, and setting the options that control them.
\section1 The test scene
This example shows a simple scene that contains a sphere and two rotated cubes.
The scene is set up so that it clearly shows jagged edges when antialiasing is not enabled.
\section1 Controlling antialiasing
Antialiasing is controlled by the \l [QML] {SceneEnvironment} object. The
values are set based on the selection made in the user interface.
The \l [QML] {SceneEnvironment::antialiasingMode}{antialiasing mode} can be set to \c NoAA to disable antialiasing,
or to one of the following:
\list
\li \c SSAA for supersample antialiasing
\li \c MSAA for multisample antialiasing
\li \c ProgressiveAA for progressive antialiasing
\endlist
The \l [QML] {SceneEnvironment::antialiasingQuality}{antialiasing quality} can be set to \c Medium, \c High, or \c VeryHigh.
In addition, \l [QML] {SceneEnvironment::temporalAAEnabled}{temporal antialiasing} can be enabled independently.
The \l [QML] {SceneEnvironment::temporalAAMode}{temporal antialiasing mode} can be set to one of the following:
\list
\li \c TAADefault for basic temporal antialiasing
\li \c TAAMotionVector for higher-quality temporal antialiasing which uses motion vectors
\endlist
\snippet antialiasing/main.qml scene environment
See the \l{quick3d-asset-conditioning-anti-aliasing}{Anti-Aliasing} page in the asset conditioning section for further discussion on antialiasing.
*/