diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2013-11-13 09:42:08 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-14 15:54:10 +0100 |
commit | cd0f3fba787aab1b153e5dcba281a241f30b7e59 (patch) | |
tree | c8d51e2852202291b6b3ebff702fff4ff16b0a41 /src/quick | |
parent | 64bbcfa67812c4fd3df8c243f7ce31a5130aaed7 (diff) |
Add support for quaternion in ShaderEffect
Task-number: QTBUG-32605
Change-Id: I4e90a3505740dd9a8b369dac6ce05ce066d14d44
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/qquickshadereffect.cpp | 1 | ||||
-rw-r--r-- | src/quick/items/qquickshadereffectnode.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/quick/items/qquickshadereffect.cpp b/src/quick/items/qquickshadereffect.cpp index 9c766a1622..9a20703f18 100644 --- a/src/quick/items/qquickshadereffect.cpp +++ b/src/quick/items/qquickshadereffect.cpp @@ -559,6 +559,7 @@ void QQuickShaderEffectCommon::propertyChanged(QQuickItem *item, int mappedId, \li QVector4D -> vec4 \li QTransform -> mat3 \li QMatrix4x4 -> mat4 + \li QQuaternion -> vec4, scalar value is \c w. \li \l Image, \l ShaderEffectSource -> sampler2D - Origin is in the top-left corner, and the color values are premultiplied. \endlist diff --git a/src/quick/items/qquickshadereffectnode.cpp b/src/quick/items/qquickshadereffectnode.cpp index 8788fa8362..3ab13dbbc7 100644 --- a/src/quick/items/qquickshadereffectnode.cpp +++ b/src/quick/items/qquickshadereffectnode.cpp @@ -197,6 +197,12 @@ void QQuickCustomMaterialShader::updateState(const RenderState &state, QSGMateri case QMetaType::QVector4D: program()->setUniformValue(loc, qvariant_cast<QVector4D>(d.value)); break; + case QMetaType::QQuaternion: + { + QQuaternion q = qvariant_cast<QQuaternion>(d.value); + program()->setUniformValue(loc, q.x(), q.y(), q.z(), q.scalar()); + } + break; case QMetaType::QMatrix4x4: program()->setUniformValue(loc, qvariant_cast<QMatrix4x4>(d.value)); break; |