12QSSGRenderImage::QSSGRenderImage(QSSGRenderGraphObject::Type type)
13 : QSSGRenderGraphObject(type, FlagT(QSSGRenderGraphObject::Flags::HasGraphicsResources))
15 m_flags.setFlag(Flag::Dirty);
16 m_flags.setFlag(Flag::TransformDirty);
21bool QSSGRenderImage::clearDirty()
23 const bool wasDirty = m_flags.testFlag(Flag::Dirty);
24 m_flags.setFlag(Flag::Dirty,
false);
25 if (m_flags.testFlag(Flag::TransformDirty)) {
26 calculateTextureTransform();
32void QSSGRenderImage::calculateTextureTransform()
34 m_flags.setFlag(Flag::TransformDirty,
false);
36 m_textureTransform = QMatrix4x4();
38 m_textureTransform *= QMatrix4x4(-1.f, 0.f, 0.f, 1.f,
44 m_textureTransform *= QMatrix4x4(1.f, 0.f, 0.f, 0.f,
52 QMatrix4x4 translation;
56 pivot.translate(m_pivot.x(), m_pivot.y());
57 pivot_r.translate(-m_pivot.x(), -m_pivot.y());
58 translation.translate(m_position.x(), m_position.y());
59 scale.scale(m_scale.x(), m_scale.y());
60 rotation.rotate(m_rotation, QVector3D(0, 0, 1));
62 m_textureTransform *= translation;
63 m_textureTransform *= pivot;
64 m_textureTransform *= rotation;
65 m_textureTransform *= scale;
66 m_textureTransform *= pivot_r;