Details
-
Suggestion
-
Resolution: Done
-
P2: Important
-
5.1.0
-
None
-
d311e1bdfc756e2db9a9b9e4c1269da709e5090a cd0f3fba787aab1b153e5dcba281a241f30b7e59
Description
Uniform values are not updated from those properties:
ShaderEffect { property var v1: Qt.vector2d(1.0,1.0) property var q1: Qt.quaternion(1.0,1.0) property vector2d v2: Qt.vector2d(1.0,1.0) property quaternion q2: Qt.quaternion(1.0,1.0) fragmentShader: " uniform vec2 v1; uniform vec2 v2; uniform vec4 q1; uniform vec4 q2; ...
This behavior is really confusing because QVector3D, QVector4D, QMatrix4x4 are handled.
Quick look into code, and I figure out changes need inside_QQuickCustomMaterialShader::updateState_ method.
Values QMetaType::QVector2D and QMetaType::QQuaternion should be in switch statement. Default should also rise an error in log, so it will not confuse when using wrong type.
Attachments
For Gerrit Dashboard: QTBUG-32605 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
71106,2 | Add support for quaternion in ShaderEffect | stable | qt/qtdeclarative | Status: MERGED | +2 | 0 |
71107,1 | Add support for quaternion in ShaderEffect. | release | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |