16#ifndef QGSPHONGMATERIAL_H
17#define QGSPHONGMATERIAL_H
45class _3D_EXPORT QgsPhongMaterial :
public QgsMaterial
53 explicit QgsPhongMaterial( Qt3DCore::QNode *parent =
nullptr );
66 void setInstancingMeshTransform(
const QMatrix4x4 &transform );
68 ~QgsPhongMaterial()
override;
72 void setAmbient(
const QColor &ambient,
float scaleFactor = 1 );
74 void setDiffuse(
const QColor &diffuse,
float scaleFactor = 1 );
76 void setSpecular(
const QColor &specular,
float scaleFactor = 1 );
77 void setShininess(
float shininess );
78 void setOpacity(
float opacity );
85 void setDataDefinedEnabled(
bool enabled );
91 Qt3DRender::QParameter *mAmbientParameter =
nullptr;
92 Qt3DRender::QParameter *mDiffuseParameter =
nullptr;
93 Qt3DRender::QParameter *mSpecularParameter =
nullptr;
94 Qt3DRender::QParameter *mShininessParameter =
nullptr;
95 Qt3DRender::QParameter *mOpacityParameter =
nullptr;
96 Qt3DRender::QShaderProgram *mShaderProgram =
nullptr;
97 bool mDataDefinedEnabled =
false;
98 bool mInstanced =
false;
100 Qt3DRender::QParameter *mTransformParameter =
nullptr;
101 Qt3DRender::QParameter *mNormalTransformParameter =
nullptr;
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Base class for all materials used within QGIS 3D views.