QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
framegraph
qgsbloomupsampleentity.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsbloomupsampleentity.cpp
3
--------------------------------------
4
Date : May 2026
5
Copyright : (C) 2026 by Nyall Dawson
6
Email : nyall dot dawson 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 "
qgsbloomupsampleentity.h
"
17
18
#include <QString>
19
#include <Qt3DRender/QMaterial>
20
#include <Qt3DRender/QParameter>
21
#include <Qt3DRender/QShaderProgram>
22
#include <Qt3DRender/QTexture>
23
24
#include "moc_qgsbloomupsampleentity.cpp"
25
26
using namespace
Qt::StringLiterals;
27
28
QgsBloomUpsampleEntity::QgsBloomUpsampleEntity
( Qt3DRender::QTexture2D *texture, Qt3DRender::QLayer *layer, QNode *parent )
29
:
QgsRenderPassQuad
( layer, parent )
30
{
31
mSourceTextureParameter =
new
Qt3DRender::QParameter( u
"srcTexture"
_s, texture );
32
mMaterial
->addParameter( mSourceTextureParameter );
33
34
const
QString vertexShaderPath = u
"qrc:/shaders/postprocess.vert"
_s;
35
const
QString fragmentShaderPath = u
"qrc:/shaders/bloom_upsample.frag"
_s;
36
37
mShader
->setVertexShaderCode( Qt3DRender::QShaderProgram::loadSource( QUrl( vertexShaderPath ) ) );
38
mShader
->setFragmentShaderCode( Qt3DRender::QShaderProgram::loadSource( QUrl( fragmentShaderPath ) ) );
39
}
40
41
void
QgsBloomUpsampleEntity::addParameters
(
const
QVector<Qt3DRender::QParameter *> ¶meters )
42
{
43
for
( Qt3DRender::QParameter *parameter : parameters )
44
{
45
mMaterial
->addParameter( parameter );
46
}
47
}
QgsBloomUpsampleEntity::QgsBloomUpsampleEntity
QgsBloomUpsampleEntity(Qt3DRender::QTexture2D *texture, Qt3DRender::QLayer *layer, QNode *parent=nullptr)
Constructor.
Definition
qgsbloomupsampleentity.cpp:28
QgsBloomUpsampleEntity::addParameters
void addParameters(const QVector< Qt3DRender::QParameter * > ¶meters)
Adds parameters to the entity.
Definition
qgsbloomupsampleentity.cpp:41
QgsRenderPassQuad::QgsRenderPassQuad
QgsRenderPassQuad(Qt3DRender::QLayer *layer, QNode *parent=nullptr)
Constructor.
Definition
qgsrenderpassquad.cpp:33
QgsRenderPassQuad::mShader
Qt3DRender::QShaderProgram * mShader
Definition
qgsrenderpassquad.h:48
QgsRenderPassQuad::mMaterial
Qt3DRender::QMaterial * mMaterial
Definition
qgsrenderpassquad.h:47
qgsbloomupsampleentity.h
Generated on
for QGIS API Documentation by
1.17.0