summaryrefslogtreecommitdiffstats
path: root/src/extras/defaults/qtexturematerial.h
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2017-06-15 23:03:25 +0100
committerSean Harmer <sean.harmer@kdab.com>2017-06-30 18:38:43 +0000
commit838dbfd9effc020f2e037f31073a368aa3280f74 (patch)
tree8058922ccd9d03104fe8ba3a72b2ed9af513c443 /src/extras/defaults/qtexturematerial.h
parent9221a954f47eba38e97700192dc8dcef0040852f (diff)
Add textureTransform to QTextureMaterial
New property adds support for 3x3 matrix used to transform texture coordinates. Setting the existing textureOffset property will affect the new matrix. That matrix is now used in the shaders. Change-Id: I82778b048093e7e291c079e9d333a04a84c925f0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/defaults/qtexturematerial.h')
-rw-r--r--src/extras/defaults/qtexturematerial.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/extras/defaults/qtexturematerial.h b/src/extras/defaults/qtexturematerial.h
index 3101b9a1b..b6347aff4 100644
--- a/src/extras/defaults/qtexturematerial.h
+++ b/src/extras/defaults/qtexturematerial.h
@@ -43,6 +43,7 @@
#include <Qt3DExtras/qt3dextras_global.h>
#include <Qt3DRender/qmaterial.h>
#include <QVector2D>
+#include <QMatrix3x3>
QT_BEGIN_NAMESPACE
@@ -61,20 +62,24 @@ class QT3DEXTRASSHARED_EXPORT QTextureMaterial : public Qt3DRender::QMaterial
Q_OBJECT
Q_PROPERTY(Qt3DRender::QAbstractTexture *texture READ texture WRITE setTexture NOTIFY textureChanged)
Q_PROPERTY(QVector2D textureOffset READ textureOffset WRITE setTextureOffset NOTIFY textureOffsetChanged)
+ Q_PROPERTY(QMatrix3x3 textureTransform READ textureTransform WRITE setTextureTransform NOTIFY textureTransformChanged REVISION 10)
public:
explicit QTextureMaterial(Qt3DCore::QNode *parent = nullptr);
~QTextureMaterial();
Qt3DRender::QAbstractTexture *texture() const;
QVector2D textureOffset() const;
+ QMatrix3x3 textureTransform() const;
public Q_SLOTS:
void setTexture(Qt3DRender::QAbstractTexture *texture);
void setTextureOffset(QVector2D textureOffset);
+ void setTextureTransform(const QMatrix3x3 &matrix);
Q_SIGNALS:
void textureChanged(Qt3DRender::QAbstractTexture *texture);
void textureOffsetChanged(QVector2D textureOffset);
+ void textureTransformChanged(const QMatrix3x3 &textureTransform);
private:
Q_DECLARE_PRIVATE(QTextureMaterial)