QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
qgsabstract3dengine.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsabstract3dengine.cpp
3 --------------------------------------
4 Date : July 2018
5 Copyright : (C) 2018 by Martin Dobias
6 Email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#include "qgsabstract3dengine.h"
17
19
20#include <Qt3DRender/QRenderCapture>
21#include <Qt3DRender/QRenderSettings>
22
24 : QObject( parent )
25{
26
27}
28
30{
31 Qt3DRender::QRenderCaptureReply *captureReply;
32 captureReply = mFrameGraph->renderCapture()->requestCapture();
33
34 connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [ = ]
35 {
36 emit imageCaptured( captureReply->image() );
37 captureReply->deleteLater();
38 } );
39}
40
42{
43 Qt3DRender::QRenderCaptureReply *captureReply;
44 captureReply = mFrameGraph->depthRenderCapture()->requestCapture();
45
46 connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [ = ]
47 {
48 emit depthBufferCaptured( captureReply->image() );
49 captureReply->deleteLater();
50 } );
51}
52
54{
56}
57
59{
61}
void requestCaptureImage()
Starts a request for an image rendered by the engine.
void requestDepthBufferCapture()
Starts a request for an image containing the depth buffer data of the engine.
void imageCaptured(const QImage &image)
Emitted after a call to requestCaptureImage() to return the captured image.
bool renderCaptureEnabled() const
Returns whether it will be possible to render to an image.
void depthBufferCaptured(const QImage &image)
Emitted after a call to requestDepthBufferCapture() to return the captured depth buffer.
void setRenderCaptureEnabled(bool enabled)
Sets whether it will be possible to render to an image.
QgsAbstract3DEngine(QObject *parent=nullptr)
Constructor for QgsAbstract3DEngine with the specified parent object.
QgsShadowRenderingFrameGraph * mFrameGraph
bool renderCaptureEnabled() const
Returns whether it will be possible to render to an image.
Qt3DRender::QRenderCapture * renderCapture()
Returns the render capture object used to take an image of the scene.
Qt3DRender::QRenderCapture * depthRenderCapture()
Returns the render capture object used to take an image of the depth buffer of the scene.
void setRenderCaptureEnabled(bool enabled)
Sets whether it will be possible to render to an image.