37 Q_PROPERTY(
bool billboard READ billboard WRITE setBillboard NOTIFY billboardChanged)
38 Q_PROPERTY(
float particleScale READ particleScale WRITE setParticleScale NOTIFY particleScaleChanged)
41 Q_PROPERTY(
float offsetX READ offsetX WRITE setOffsetX NOTIFY offsetXChanged REVISION(6, 3))
42 Q_PROPERTY(
float offsetY READ offsetY WRITE setOffsetY NOTIFY offsetYChanged REVISION(6, 3))
43 Q_PROPERTY(
bool castsReflections READ castsReflections WRITE setCastsReflections NOTIFY castsReflectionsChanged REVISION(6, 4))
48 enum
BlendMode { SourceOver = 0, Screen, Multiply };
54 BlendMode blendMode()
const;
57 bool billboard()
const;
58 float particleScale()
const;
61 float offsetX() const;
62 float offsetY() const;
69 void setBillboard(
bool billboard);
70 void setParticleScale(
float scale);
72 void setOffsetX(
float value);
73 void setOffsetY(
float value);
74 Q_REVISION(6, 4)
void setCastsReflections(
bool castsReflections);
77 void blendModeChanged();
79 void spriteSequenceChanged();
80 void billboardChanged();
81 void particleScaleChanged();
82 void colorTableChanged();
89 void itemChange(ItemChange, const ItemChangeData &) override;
90 void reset() override;
91 void componentComplete() override;
93 virtual
void setParticleData(
int particleIndex,
97 float size,
float age,
98 float animationFrame);
99 virtual
void resetParticleData(
int particleIndex);
100 virtual
void commitParticles(
float);
101 void setDepthBias(
float bias)
override
108 void onLightDestroyed(
QObject *
object);
132 float animationFrame = -1.0f;
133 int emitterIndex = -1;
145 bool m_nodeDirty =
true;
152 int particleCount = 0;
153 int emitterIndex = -1;
162 virtual void handleMaxAmountChanged(
int amount);
166 void markNodesDirty();
170 int m_nextEmitterIndex = 0;
182 void updateFeatureLevel();
184 QHash<QByteArray, QMetaObject::Connection> m_connections;
189 float m_particleScale = 5.0f;
190 bool m_billboard =
false;
191 bool m_useAnimatedParticle =
false;
200 bool m_castsReflections =
true;
ParticleUpdateNode(QQuick3DNode *parent=nullptr)
QVector< SpriteParticleData > m_spriteParticleData
QMap< const QQuick3DParticleEmitter *, PerEmitterData > m_perEmitterData
Q_REVISION(6, 3) QQmlListProperty< QQuick3DAbstractLight > lights()
virtual void setDepthBias(float bias)