diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2016-07-20 13:45:43 +0200 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@kdab.com> | 2016-07-20 11:47:06 +0000 |
commit | 8c1e1df4be02de8d64807d7abeccedc6becd3076 (patch) | |
tree | 69e3c0d994ceedaf42a8b2dd80787a7998fec04b /src/render/geometry | |
parent | 6254f25982e1138e7cf6d835d6d3467e7e597d3a (diff) |
Add support for mat3 and mat4 attributes
Attributes don't support a vertexSize larger than 4, but it can come in
handy to have bigger attributes when you want to push full matrices.
mat2 already fits, so adding special handling for vertexSize == 9 (mat3)
and vertexSize == 16 (mat4).
Change-Id: Ic5376b1c7a87fc4225afdf756d65c924fde54996
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/geometry')
-rw-r--r-- | src/render/geometry/qattribute.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/render/geometry/qattribute.cpp b/src/render/geometry/qattribute.cpp index fd1ceee60..fac4dbd7c 100644 --- a/src/render/geometry/qattribute.cpp +++ b/src/render/geometry/qattribute.cpp @@ -178,7 +178,8 @@ QString QAttribute::name() const /*! * \property QAttribute::vertexSize * - * Holds the data size. + * Holds the data size, it can only be 1 to 4 units (scalars and vectors), + * 9 units (3x3 matrices) or 16 units (4x4 matrices). */ uint QAttribute::vertexSize() const { @@ -303,7 +304,7 @@ void QAttribute::setDataSize(uint size) Q_D(QAttribute); if (d->m_dataSize == size) return; - Q_ASSERT(size >= 1 && size <= 4); + Q_ASSERT((size >= 1 && size <= 4) || (size == 9) || (size == 16)); d->m_dataSize = size; emit dataSizeChanged(size); } |