10QSSGRenderImage::QSSGRenderImage(QSSGRenderGraphObject::Type type)
11 : QSSGRenderGraphObject(type, FlagT(QSSGRenderGraphObject::Flags::HasGraphicsResources))
13 m_flags.setFlag(Flag::Dirty);
14 m_flags.setFlag(Flag::TransformDirty);
19bool QSSGRenderImage::clearDirty()
21 const bool wasDirty = m_flags.testFlag(Flag::Dirty);
22 m_flags.setFlag(Flag::Dirty,
false);
23 if (m_flags.testFlag(Flag::TransformDirty)) {
24 calculateTextureTransform();
30void QSSGRenderImage::calculateTextureTransform()
32 m_flags.setFlag(Flag::TransformDirty,
false);
34 m_textureTransform = QMatrix4x4();
36 m_textureTransform *= QMatrix4x4(-1.f, 0.f, 0.f, 1.f,
42 m_textureTransform *= QMatrix4x4(1.f, 0.f, 0.f, 0.f,
50 QMatrix4x4 translation;
54 pivot.translate(m_pivot.x(), m_pivot.y());
55 pivot_r.translate(-m_pivot.x(), -m_pivot.y());
56 translation.translate(m_position.x(), m_position.y());
57 scale.scale(m_scale.x(), m_scale.y());
58 rotation.rotate(m_rotation, QVector3D(0, 0, 1));
60 m_textureTransform *= translation;
61 m_textureTransform *= pivot;
62 m_textureTransform *= rotation;
63 m_textureTransform *= scale;
64 m_textureTransform *= pivot_r;