QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
materials
qgsmetalroughtexturedmaterial3dhandler.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmetalroughtexturedmaterial3dhandler.h
3
--------------------------------------
4
Date : April 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
#ifndef QGSMETALROUGHMATERIALTEXTURED3DHANDLER_H
17
#define QGSMETALROUGHMATERIALTEXTURED3DHANDLER_H
18
19
#include "qgis_3d.h"
20
#include "
qgsmaterial3dhandler.h
"
21
22
#define SIP_NO_FILE
23
24
class
QgsMetalRoughTexturedMaterialSettings
;
25
class
QgsMetalRoughMaterial;
26
27
namespace
Qt3DRender
28
{
29
class
QTexture2D;
30
}
31
40
class
_3D_EXPORT
QgsMetalRoughTexturedMaterial3DHandler
:
public
QgsAbstractMaterial3DHandler
41
{
42
public
:
43
QgsMetalRoughTexturedMaterial3DHandler
() =
default
;
44
45
QMap<QString, QString>
toExportParameters
(
const
QgsAbstractMaterialSettings
*settings )
const override
;
46
QgsMaterial
*
toMaterial
(
const
QgsAbstractMaterialSettings
*settings,
Qgis::MaterialRenderingTechnique
technique,
const
QgsMaterialContext
&context )
const override
;
47
QgsMaterial
*
toInstancedMaterial
(
48
const
QgsAbstractMaterialSettings
*settings,
const
QgsMaterialContext
&context,
Qgis::InstancedMaterialFlags
flags,
const
QMatrix4x4 &transform = QMatrix4x4()
49
)
const override
;
50
bool
updatePreviewScene
( Qt3DCore::QEntity *sceneRoot,
const
QgsAbstractMaterialSettings
*settings,
const
QgsMaterialContext
&context )
const override
;
51
52
private
:
53
static
Qt3DRender::QTexture2D *loadTexture(
const
QString &path,
bool
isSrgb,
const
QgsMaterialContext
&context );
54
55
static
void
applySettingsToMaterial(
const
QgsMetalRoughTexturedMaterialSettings
*metalRoughTexturedSettings, QgsMetalRoughMaterial *material,
const
QgsMaterialContext
&context );
56
};
57
58
59
#endif
// QGSMETALROUGHMATERIALTEXTURED3DHANDLER_H
Qgis::MaterialRenderingTechnique
MaterialRenderingTechnique
Material rendering techniques.
Definition
qgis.h:4453
Qgis::InstancedMaterialFlags
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition
qgis.h:4488
QgsAbstractMaterial3DHandler
Abstract base class for material 3D handlers.
Definition
qgsmaterial3dhandler.h:160
QgsAbstractMaterial3DHandler::updatePreviewScene
virtual bool updatePreviewScene(Qt3DCore::QEntity *sceneRoot, const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &context) const =0
Updates an existing material preview scene with new material settings.
QgsAbstractMaterial3DHandler::toMaterial
virtual QgsMaterial * toMaterial(const QgsAbstractMaterialSettings *settings, Qgis::MaterialRenderingTechnique technique, const QgsMaterialContext &context) const =0
Creates a new QgsMaterial object representing the material settings.
QgsAbstractMaterial3DHandler::toExportParameters
virtual QMap< QString, QString > toExportParameters(const QgsAbstractMaterialSettings *settings) const =0
Returns the parameters to be exported to .mtl file.
QgsAbstractMaterial3DHandler::toInstancedMaterial
virtual QgsMaterial * toInstancedMaterial(const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &context, Qgis::InstancedMaterialFlags flags, const QMatrix4x4 &transform=QMatrix4x4()) const
Creates a QgsMaterial for instanced point rendering.
Definition
qgsmaterial3dhandler.cpp:53
QgsAbstractMaterialSettings
Abstract base class for material settings.
Definition
qgsabstractmaterialsettings.h:42
QgsMaterialContext
Context settings for a material.
Definition
qgsmaterial3dhandler.h:56
QgsMaterial
Base class for all materials used within QGIS 3D views.
Definition
qgsmaterial.h:40
QgsMetalRoughTexturedMaterial3DHandler::QgsMetalRoughTexturedMaterial3DHandler
QgsMetalRoughTexturedMaterial3DHandler()=default
QgsMetalRoughTexturedMaterialSettings
A PBR metal rough shading material used for rendering with support for image texture maps.
Definition
qgsmetalroughtexturedmaterialsettings.h:36
Qt3DRender
Definition
qgs3d.h:45
qgsmaterial3dhandler.h
Generated on
for QGIS API Documentation by
1.17.0