33 Q_PROPERTY(
float weight READ weight WRITE setWeight NOTIFY weightChanged)
34 Q_PROPERTY(MorphTargetAttributes attributes READ attributes WRITE setAttributes NOTIFY attributesChanged)
35 QML_NAMED_ELEMENT(MorphTarget)
36 QML_ADDED_IN_VERSION(6, 0)
39 enum class MorphTargetAttribute {
48 Q_ENUM(MorphTargetAttribute)
49 Q_DECLARE_FLAGS(MorphTargetAttributes , MorphTargetAttribute)
50 Q_FLAG(MorphTargetAttributes)
52 explicit QQuick3DMorphTarget(QQuick3DObject *parent =
nullptr);
53 ~QQuick3DMorphTarget() override;
56 MorphTargetAttributes attributes()
const;
59 void setWeight(
float castsShadows);
60 void setAttributes(QQuick3DMorphTarget::MorphTargetAttributes attributes);
63 void attributesChanged();
67 QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override;
68 void markAllDirty() override;
71 enum QSSGMorphTargetDirtyType {
72 WeightDirty = 0x00000001,
73 MorphTargetAttributesDirty = 0x00000002,
76 quint32 m_dirtyAttributes = 0xffffffff;
77 void markDirty(QSSGMorphTargetDirtyType type);
80 MorphTargetAttributes m_attributes = MorphTargetAttribute::Position;
81 size_t m_numAttribs = 1;