QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
framegraph
qgsambientocclusionrenderview.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsambientocclusionrenderview.h
3
--------------------------------------
4
Date : June 2024
5
Copyright : (C) 2024 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 QGSAMBIENTOCCLUSIONRENDERVIEW_H
17
#define QGSAMBIENTOCCLUSIONRENDERVIEW_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
QCamera;
31
class
QCameraSelector;
32
class
QLayer;
33
class
QLayerFilter;
34
class
QRenderSettings;
35
class
QRenderTarget;
36
class
QRenderTargetSelector;
37
class
QSubtreeEnabler;
38
class
QTexture2D;
39
}
//namespace Qt3DRender
40
41
class
QgsAmbientOcclusionRenderEntity
;
42
class
QgsAmbientOcclusionBlurEntity
;
43
57
class
QgsAmbientOcclusionRenderView
:
public
QgsAbstractRenderView
58
{
59
public
:
61
QgsAmbientOcclusionRenderView
(
const
QString &viewName, Qt3DRender::QCamera *mainCamera, QSize mSize, Qt3DRender::QTexture2D *forwardDepthTexture, Qt3DCore::QEntity *rootSceneEntity );
62
64
void
setIntensity
(
float
intensity );
65
67
void
setRadius
(
float
radius );
68
70
void
setThreshold
(
float
threshold );
71
73
Qt3DRender::QTexture2D *
blurredFactorMapTexture
()
const
;
74
75
void
updateWindowResize
(
int
width,
int
height )
override
;
76
void
setEnabled
(
bool
enable )
override
;
77
78
private
:
79
Qt3DRender::QLayer *mAOPassLayer =
nullptr
;
80
Qt3DRender::QTexture2D *mAOPassTexture =
nullptr
;
81
Qt3DRender::QTexture2D *mBlurPassTexture =
nullptr
;
82
Qt3DRender::QLayer *mBlurPassLayer =
nullptr
;
83
84
QgsAmbientOcclusionRenderEntity
*mAmbientOcclusionRenderEntity =
nullptr
;
85
QgsAmbientOcclusionBlurEntity
*mAmbientOcclusionBlurEntity =
nullptr
;
86
87
void
buildRenderPasses( QSize mSize, Qt3DRender::QTexture2D *forwardDepthTexture, Qt3DCore::QEntity *rootSceneEntity, Qt3DRender::QCamera *mainCamera );
88
92
Qt3DRender::QRenderTarget *buildAOTexture( QSize mSize );
93
97
Qt3DRender::QRenderTarget *buildBlurTexture( QSize mSize );
98
};
99
100
#endif
// QGSAMBIENTOCCLUSIONRENDERVIEW_H
QgsAbstractRenderView::QgsAbstractRenderView
QgsAbstractRenderView(const QString &viewName)
Constructor for QgsAbstractRenderView with the specified parent object.
Definition
qgsabstractrenderview.cpp:21
QgsAmbientOcclusionBlurEntity
An entity that is responsible for blurring the ambient occlusion factor texture.
Definition
qgsambientocclusionblurentity.h:39
QgsAmbientOcclusionRenderEntity
An entity that is responsible for producing an ambient occlusion factor map.
Definition
qgsambientocclusionrenderentity.h:40
QgsAmbientOcclusionRenderView::setRadius
void setRadius(float radius)
Delegates to QgsAmbientOcclusionRenderEntity::setRadius.
Definition
qgsambientocclusionrenderview.cpp:158
QgsAmbientOcclusionRenderView::setEnabled
void setEnabled(bool enable) override
Enable or disable via enable the render view sub tree.
Definition
qgsambientocclusionrenderview.cpp:55
QgsAmbientOcclusionRenderView::updateWindowResize
void updateWindowResize(int width, int height) override
Called when 3D window is resized.
Definition
qgsambientocclusionrenderview.cpp:49
QgsAmbientOcclusionRenderView::QgsAmbientOcclusionRenderView
QgsAmbientOcclusionRenderView(const QString &viewName, Qt3DRender::QCamera *mainCamera, QSize mSize, Qt3DRender::QTexture2D *forwardDepthTexture, Qt3DCore::QEntity *rootSceneEntity)
Default constructor.
Definition
qgsambientocclusionrenderview.cpp:32
QgsAmbientOcclusionRenderView::setIntensity
void setIntensity(float intensity)
Delegates to QgsAmbientOcclusionRenderEntity::setIntensity.
Definition
qgsambientocclusionrenderview.cpp:153
QgsAmbientOcclusionRenderView::setThreshold
void setThreshold(float threshold)
Delegates to QgsAmbientOcclusionRenderEntity::setThreshold.
Definition
qgsambientocclusionrenderview.cpp:163
QgsAmbientOcclusionRenderView::blurredFactorMapTexture
Qt3DRender::QTexture2D * blurredFactorMapTexture() const
Returns blur pass texture.
Definition
qgsambientocclusionrenderview.cpp:168
Qt3DCore
Definition
qgsabstract3drenderer.h:33
Qt3DRender
Definition
qgs3d.h:45
qgsabstractrenderview.h
Generated on
for QGIS API Documentation by
1.17.0