summaryrefslogtreecommitdiffstats
path: root/src/render/framegraph/qnodraw.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2016-08-25 10:01:55 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-11-18 10:15:55 +0000
commitf9896c7c6a088ca3ed46bba3c4a988ffc81635f9 (patch)
tree3c027424d72a1fe0d6a1838a639869e0a094ca8c /src/render/framegraph/qnodraw.cpp
parent4762648226b6e2560f46c8f8506c92fe6fe8d2a6 (diff)
QNoDraw: improve documentation
Change-Id: Id621005f420928b08f24f867d84a26c75c5df796 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/framegraph/qnodraw.cpp')
-rw-r--r--src/render/framegraph/qnodraw.cpp83
1 files changed, 69 insertions, 14 deletions
diff --git a/src/render/framegraph/qnodraw.cpp b/src/render/framegraph/qnodraw.cpp
index 21634d1cb..46756557e 100644
--- a/src/render/framegraph/qnodraw.cpp
+++ b/src/render/framegraph/qnodraw.cpp
@@ -44,19 +44,42 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
/*!
- * \class Qt3DRender::QNoDraw
- * \inmodule Qt3DRender
- *
- * \brief When a QNoDraw node is present in a FrameGraph branch, this
- * prevents the renderer from rendering any primitive.
- *
- * QNoDraw should be used when the FrameGraph needs to set up some render
- * states or clear some buffers without requiring any mesh to be drawn. It has
- * the same effect as having a Qt3DRender::QRenderPassFilter that matches none of
- * available Qt3DRender::QRenderPass instances of the scene without the overhead cost
- * of actually performing the filtering.
- *
- * \since 5.5
+ \class Qt3DRender::QNoDraw
+ \inmodule Qt3DRender
+
+ \brief When a Qt3DRender::QNoDraw node is present in a FrameGraph branch, this
+ prevents the renderer from rendering any primitive.
+
+ Qt3DRender::QNoDraw should be used when the FrameGraph needs to set up some render
+ states or clear some buffers without requiring any mesh to be drawn. It has
+ the same effect as having a Qt3DRender::QRenderPassFilter that matches none of
+ available Qt3DRender::QRenderPass instances of the scene without the overhead cost
+ of actually performing the filtering.
+
+ When disabled, a Qt3DRender::QNoDraw node won't prevent the scene from
+ being rendered. Toggling the enabled property is therefore a way to make a
+ Qt3DRender::QNoDraw active or inactive.
+
+ Qt3DRender::QNoDraw is usually used as a child of a
+ Qt3DRendeR::QClearBuffers node to prevent from drawing the scene when there
+ are multiple render passes.
+
+ \code
+ Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport();
+ Qt3DRender::QCameraSelector *cameraSelector = new Qt3DRender::QCameraSelector(viewport);
+
+ Qt3DRender::QClearBuffers *clearBuffers = new Qt3DRender::QClearBuffers(cameraSelector);
+ clearBuffers->setBuffers(Qt3DRender::QClearBuffers::ColorDepthBuffer);
+
+ Qt3DRender::QNoDraw *noDraw = new Qt3DRender::QNoDraw(clearBuffers);
+
+ Qt3DRender::QRenderPassFilter *mainPass = new Qt3DRender::QRenderPassFilter(cameraSelector);
+ ....
+ Qt3DRender::QRenderPassFilter *previewPass = new Qt3DRender::QRenderPassFilter(cameraSelector);
+ ....
+ \endcode
+
+ \since 5.5
*/
/*!
@@ -66,7 +89,39 @@ namespace Qt3DRender {
\inqmlmodule Qt3D.Render
\since 5.5
\brief When a NoDraw node is present in a FrameGraph branch, this
- * prevents the renderer from rendering any primitive.
+ prevents the renderer from rendering any primitive.
+
+ NoDraw should be used when the FrameGraph needs to set up some render
+ states or clear some buffers without requiring any mesh to be drawn. It has
+ the same effect as having a Qt3DRender::QRenderPassFilter that matches none
+ of available Qt3DRender::QRenderPass instances of the scene without the
+ overhead cost of actually performing the filtering.
+
+ When disabled, a NoDraw node won't prevent the scene from being rendered.
+ Toggling the enabled property is therefore a way to make a NoDraw active or
+ inactive.
+
+ NoDraw is usually used as a child of a ClearBuffers node to prevent from
+ drawing the scene when there are multiple render passes.
+
+ \code
+
+ Viewport {
+ CameraSelector {
+ ClearBuffers {
+ buffers: ClearBuffers.ColorDepthBuffer
+ NoDraw { } // Prevents from drawing anything
+ }
+ RenderPassFilter {
+ ...
+ }
+ RenderPassFilter {
+ ...
+ }
+ }
+ }
+
+ \endcode
*/
/*!