4#ifndef QQUICK3DSPRITEPARTICLE_H
5#define QQUICK3DSPRITEPARTICLE_H
20#include <QtQml/QQmlListProperty>
22#include <QtQuick3DParticles/private/qquick3dparticle_p.h>
23#include <QtQuick3DParticles/private/qquick3dparticlesystem_p.h>
24#include <QtQuick3DParticles/private/qquick3dparticledata_p.h>
25#include <QtQuick3DParticles/private/qquick3dparticlespritesequence_p.h>
26#include <QtQuick3D/private/qquick3dabstractlight_p.h>
27#include <QtQuick3DRuntimeRender/private/qssgrenderparticles_p.h>
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();
189 float m_particleScale = 5.0f;
190 bool m_billboard =
false;
191 bool m_useAnimatedParticle =
false;
200 bool m_castsReflections =
true;
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
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)
The QVector3D class represents a vector or vertex in 3D space.
The QVector4D class represents a vector or vertex in 4D space.
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum GLuint GLint level
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLenum GLenum GLenum GLenum scale
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent