Revision control
++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
++
++ /*!
++ \example deferred-renderer-cpp
++ \title Qt 3D: Deferred Renderer C++ Example
++ \ingroup qt3d-examples-cpp
++ \brief A C++ application that demonstrates rendering to an intermediate
++ G-buffer.
++
++ \e {Deferred Renderer} demonstrates using a two pass rendering method.
++ First, all the meshes in the scene are drawn using the same shader that will
++ output the following values for each fragment: world normal vector, color,
++ depth, and world position vector.
++
++ Each of these values will be stored in a texture, which together form what
++ is called the G-buffer. Nothing is drawn onscreen during the first pass, but
++ rather drawn into the G-buffer ready for later use.
++
++ Once all the meshes have been drawn, the G-buffer is filled with all the
++ meshes that can currently be seen by the camera. The second render pass is
++ then used to render the scene to the back buffer with the final color
++ shading by reading the values from the G-buffer textures and outputting a
++ color onto a full screen quad.
++
++ For more information, see \l{Deferred Renderer}.
++
++ \include examples-run.qdocinc
++ */