QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
framegraph
qgspostprocessingrenderview.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgspostprocessingrenderview.h
3
--------------------------------------
4
Date : April 2026
5
Copyright : (C) 2026 by Benoit De Mezzo and (C) 2020 by Belgacem Nedjima
6
Email : benoit dot de dot mezzo at oslandia 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
#ifndef QGSPOSTPROCESSINGRENDERVIEW_H
17
#define QGSPOSTPROCESSINGRENDERVIEW_H
18
19
#include "
qgsabstractrenderview.h
"
20
21
#define SIP_NO_FILE
22
23
namespace
Qt3DCore
24
{
25
class
QEntity;
26
}
//namespace Qt3DCore
27
28
namespace
Qt3DRender
29
{
30
class
QTexture2D;
31
class
QRenderTargetSelector;
32
class
QClearBuffers;
33
class
QRenderStateSet;
34
class
QRenderCapture;
35
class
QRenderTarget;
36
class
QLayer;
37
}
//namespace Qt3DRender
38
39
class
QgsFrameGraph
;
40
class
QgsPostprocessingEntity
;
41
class
QgsOverlayTextureRenderView
;
42
53
class
QgsPostprocessingRenderView
:
public
QgsAbstractRenderView
54
{
55
public
:
57
QgsPostprocessingRenderView
(
const
QString &viewName,
QgsFrameGraph
*frameGraph, QSize size, Qt3DCore::QEntity *rootSceneEntity );
58
59
virtual
void
updateWindowResize
(
int
width,
int
height )
override
;
60
62
Qt3DRender::QRenderCapture *
renderCapture
()
const
;
63
65
QgsPostprocessingEntity
*
entity
()
const
;
66
70
void
setOffScreenRenderCaptureEnabled
(
bool
enabled );
71
73
QgsOverlayTextureRenderView
*
overlayTextureRenderView
()
const
{
return
mOverlayTextureRenderView.get(); }
74
75
private
:
76
Qt3DRender::QRenderTarget *buildRenderCaptureTextures( QSize size );
77
Qt3DRender::QFrameGraphNode *constructMainPass( QSize size );
78
Qt3DRender::QFrameGraphNode *constructSubPassForProcessing(
QgsFrameGraph
*frameGraph, Qt3DCore::QEntity *rootSceneEntity );
79
Qt3DRender::QFrameGraphNode *constructSubPassForRenderCapture();
80
Qt3DRender::QFrameGraphNode *constructSubPassForOverlayTexture();
81
82
std::unique_ptr<QgsOverlayTextureRenderView> mOverlayTextureRenderView;
83
84
Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr
;
85
Qt3DRender::QRenderCapture *mRenderCapture =
nullptr
;
86
87
QgsPostprocessingEntity
*mPostprocessingEntity =
nullptr
;
88
89
// Post processing pass texture related objects:
90
Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr
;
91
Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr
;
92
};
93
94
#endif
// QGSPOSTPROCESSINGRENDERVIEW_H
QgsAbstractRenderView::QgsAbstractRenderView
QgsAbstractRenderView(const QString &viewName)
Constructor for QgsAbstractRenderView with the specified parent object.
Definition
qgsabstractrenderview.cpp:21
QgsFrameGraph
Container class that holds different objects related to frame graphs of 3D scenes.
Definition
qgsframegraph.h:86
QgsOverlayTextureRenderView
Simple render view to preview overlay textures in 3D view.
Definition
qgsoverlaytexturerenderview.h:40
QgsPostprocessingEntity
An entity that is responsible for applying post processing effects.
Definition
qgspostprocessingentity.h:50
QgsPostprocessingRenderView::renderCapture
Qt3DRender::QRenderCapture * renderCapture() const
Returns the render capture object used to take an image of the postprocessing buffer of the scene.
Definition
qgspostprocessingrenderview.cpp:165
QgsPostprocessingRenderView::entity
QgsPostprocessingEntity * entity() const
Returns the QT3D entity used to do the rendering.
Definition
qgspostprocessingrenderview.cpp:170
QgsPostprocessingRenderView::QgsPostprocessingRenderView
QgsPostprocessingRenderView(const QString &viewName, QgsFrameGraph *frameGraph, QSize size, Qt3DCore::QEntity *rootSceneEntity)
Default constructor.
Definition
qgspostprocessingrenderview.cpp:37
QgsPostprocessingRenderView::setOffScreenRenderCaptureEnabled
void setOffScreenRenderCaptureEnabled(bool enabled)
Sets whether it will be possible to render to an image.
Definition
qgspostprocessingrenderview.cpp:65
QgsPostprocessingRenderView::overlayTextureRenderView
QgsOverlayTextureRenderView * overlayTextureRenderView() const
Returns overlay texture render view.
Definition
qgspostprocessingrenderview.h:73
QgsPostprocessingRenderView::updateWindowResize
virtual void updateWindowResize(int width, int height) override
Called when 3D window is resized.
Definition
qgspostprocessingrenderview.cpp:58
Qt3DCore
Definition
qgsabstract3drenderer.h:33
Qt3DRender
Definition
qgs3d.h:45
qgsabstractrenderview.h
Generated on
for QGIS API Documentation by
1.17.0