16#ifndef QGSGOOCHMATERIAL_H
17#define QGSGOOCHMATERIAL_H
44class _3D_EXPORT QgsGoochMaterial :
public QgsMaterial
52 explicit QgsGoochMaterial( Qt3DCore::QNode *parent =
nullptr );
53 ~QgsGoochMaterial()
override;
66 void setInstancingMeshTransform(
const QMatrix4x4 &transform );
70 void setDiffuse(
const QColor &diffuse );
72 void setSpecular(
const QColor &specular );
74 void setWarm(
const QColor &warm );
76 void setCool(
const QColor &cool );
77 void setShininess(
float shininess );
78 void setAlpha(
float alpha );
79 void setBeta(
float beta );
86 void setDataDefinedEnabled(
bool enabled );
92 Qt3DRender::QParameter *mDiffuseParameter =
nullptr;
93 Qt3DRender::QParameter *mSpecularParameter =
nullptr;
94 Qt3DRender::QParameter *mWarmParameter =
nullptr;
95 Qt3DRender::QParameter *mCoolParameter =
nullptr;
96 Qt3DRender::QParameter *mShininessParameter =
nullptr;
97 Qt3DRender::QParameter *mAlphaParameter =
nullptr;
98 Qt3DRender::QParameter *mBetaParameter =
nullptr;
99 Qt3DRender::QShaderProgram *mShaderProgram =
nullptr;
100 bool mDataDefinedEnabled =
false;
101 bool mInstanced =
false;
103 Qt3DRender::QParameter *mTransformParameter =
nullptr;
104 Qt3DRender::QParameter *mNormalTransformParameter =
nullptr;
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Base class for all materials used within QGIS 3D views.