summaryrefslogtreecommitdiffstats
path: root/src/extras/defaults/qmetalroughmaterial.h
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2017-07-31 09:58:06 +0200
committerSean Harmer <sean.harmer@kdab.com>2017-09-04 11:11:53 +0000
commitc69ebe3a79c727e99d7c654841cb46f0fa967332 (patch)
tree91d629bf3beada4b6b0f007e5f2497be9ef44f2c /src/extras/defaults/qmetalroughmaterial.h
parentaa3d86f2b7358dd71bdf78fb275bc2aa21ca23fd (diff)
Use layers to have only one graph for Metal/Rough
Both QMetalRoughMaterial and QTexturedMetalRoughMaterial use the same graph now. Also QMetalRoughMaterial does the job to be clever and activate the right layers depending on the type set on the properties (which is why they are now all variants). QMetalRoughMaterial can then be used as a drop in replacement for QTexturedMetalRoughMaterial. Change-Id: Ia52fe4608aca5558642599ed435f3cd9ac93e651 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/defaults/qmetalroughmaterial.h')
-rw-r--r--src/extras/defaults/qmetalroughmaterial.h32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/extras/defaults/qmetalroughmaterial.h b/src/extras/defaults/qmetalroughmaterial.h
index 28c9438a7..6da00ec08 100644
--- a/src/extras/defaults/qmetalroughmaterial.h
+++ b/src/extras/defaults/qmetalroughmaterial.h
@@ -57,27 +57,35 @@ class QMetalRoughMaterialPrivate;
class QT3DEXTRASSHARED_EXPORT QMetalRoughMaterial : public Qt3DRender::QMaterial
{
Q_OBJECT
- Q_PROPERTY(QColor baseColor READ baseColor WRITE setBaseColor NOTIFY baseColorChanged)
- Q_PROPERTY(float metalness READ metalness WRITE setMetalness NOTIFY metalnessChanged)
- Q_PROPERTY(float roughness READ roughness WRITE setRoughness NOTIFY roughnessChanged)
+ Q_PROPERTY(QVariant baseColor READ baseColor WRITE setBaseColor NOTIFY baseColorChanged)
+ Q_PROPERTY(QVariant metalness READ metalness WRITE setMetalness NOTIFY metalnessChanged)
+ Q_PROPERTY(QVariant roughness READ roughness WRITE setRoughness NOTIFY roughnessChanged)
+ Q_PROPERTY(QVariant ambientOcclusion READ ambientOcclusion WRITE setAmbientOcclusion NOTIFY ambientOcclusionChanged REVISION 10)
+ Q_PROPERTY(QVariant normal READ normal WRITE setNormal NOTIFY normalChanged REVISION 10)
public:
explicit QMetalRoughMaterial(Qt3DCore::QNode *parent = nullptr);
~QMetalRoughMaterial();
- QColor baseColor() const;
- float metalness() const;
- float roughness() const;
+ QVariant baseColor() const;
+ QVariant metalness() const;
+ QVariant roughness() const;
+ QVariant ambientOcclusion() const;
+ QVariant normal() const;
public Q_SLOTS:
- void setBaseColor(const QColor &baseColor);
- void setMetalness(float metalness);
- void setRoughness(float roughness);
+ void setBaseColor(const QVariant &baseColor);
+ void setMetalness(const QVariant &metalness);
+ void setRoughness(const QVariant &roughness);
+ void setAmbientOcclusion(const QVariant &ambientOcclusion);
+ void setNormal(const QVariant &normal);
Q_SIGNALS:
- void baseColorChanged(const QColor &baseColor);
- void metalnessChanged(float metalness);
- void roughnessChanged(float roughness);
+ void baseColorChanged(const QVariant &baseColor);
+ void metalnessChanged(const QVariant &metalness);
+ void roughnessChanged(const QVariant &roughness);
+ void ambientOcclusionChanged(const QVariant &ambientOcclusion);
+ void normalChanged(const QVariant &normal);
protected:
explicit QMetalRoughMaterial(QMetalRoughMaterialPrivate &dd, Qt3DCore::QNode *parent = nullptr);