Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquick3dparticledata_p.h
Go to the documentation of this file.
1
// Copyright (C) 2021 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4
#
ifndef
QQUICK3DPARTICLEDATA_H
5
#
define
QQUICK3DPARTICLEDATA_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
<
QVector3D
>
19
#
include
<
private
/
qglobal_p
.
h
>
20
21
QT_BEGIN_NAMESPACE
22
23
struct
Color4ub {
24
uchar r = 255;
25
uchar g = 255;
26
uchar b = 255;
27
uchar a = 255;
28
};
29
30
struct
Vector3b
{
31
qint8
x
= 0;
32
qint8
y
= 0;
33
qint8
z
= 0;
34
};
35
36
// Current particle data, only used for currently modified data, so one per system
37
struct
QQuick3DParticleDataCurrent
38
{
39
QVector3D
position
;
40
QVector3D
velocity
;
41
QVector3D
rotation
;
42
QVector3D
scale
;
43
Color4ub
color
;
44
};
45
46
// Particle data per particle
47
// Not modified after emits
48
struct
QQuick3DParticleData
49
{
50
QVector3D
startPosition
;
51
QVector3D
startVelocity
;
52
QVector3D
surfaceNormal
;
53
// Use Vector3b to reduce the memory usage, rotations work with less accuracy.
54
// These need to be qint8 and not quint8 as rotations can go either direction.
55
56
Vector3b
startRotation
;
57
Vector3b
startRotationVelocity
;
58
Color4ub
startColor
;
59
// Seconds, system time when this particle was emitted
60
float
startTime
= -1.0f;
61
// Seconds, particle lifetime
62
float
lifetime
= 0.0f;
63
// Unified scaling among axes
64
float
startSize
= 1.0f;
65
float
endSize
= 1.0f;
66
// Seconds, sprite sequence animation total time
67
float
animationTime
= -1.0f;
68
// Index/id of the particle. Used to get unique random values.
69
// Might not be necessary, check later
70
int
index
= 0;
71
// Size: 12+12+3+3+4+4+4+4+4+4 = 54 bytes
72
bool
reversed
=
false
;
73
};
74
75
// Data structure for storing bursts
76
struct
QQuick3DParticleEmitBurstData
{
77
int
amount
= 0;
78
int
time
= 0;
79
int
duration
= 0;
80
QVector3D
position
;
81
};
82
83
QT_END_NAMESPACE
84
85
#
endif
// QQUICK3DPARTICLEDATA_H
Color4ub
Definition
qquickparticlesystem_p.h:206
QQuick3DParticleDataCurrent
Definition
qquick3dparticledata_p.h:38
QQuick3DParticleDataCurrent::color
Color4ub color
Definition
qquick3dparticledata_p.h:43
QQuick3DParticleDataCurrent::velocity
QVector3D velocity
Definition
qquick3dparticledata_p.h:40
QQuick3DParticleDataCurrent::rotation
QVector3D rotation
Definition
qquick3dparticledata_p.h:41
QQuick3DParticleDataCurrent::scale
QVector3D scale
Definition
qquick3dparticledata_p.h:42
QQuick3DParticleDataCurrent::position
QVector3D position
Definition
qquick3dparticledata_p.h:39
QQuick3DParticleData
Definition
qquick3dparticledata_p.h:49
QQuick3DParticleData::startVelocity
QVector3D startVelocity
Definition
qquick3dparticledata_p.h:51
QQuick3DParticleData::startColor
Color4ub startColor
Definition
qquick3dparticledata_p.h:58
QQuick3DParticleData::reversed
bool reversed
Definition
qquick3dparticledata_p.h:72
QQuick3DParticleData::startRotationVelocity
Vector3b startRotationVelocity
Definition
qquick3dparticledata_p.h:57
QQuick3DParticleData::endSize
float endSize
Definition
qquick3dparticledata_p.h:65
QQuick3DParticleData::startSize
float startSize
Definition
qquick3dparticledata_p.h:64
QQuick3DParticleData::lifetime
float lifetime
Definition
qquick3dparticledata_p.h:62
QQuick3DParticleData::index
int index
Definition
qquick3dparticledata_p.h:70
QQuick3DParticleData::animationTime
float animationTime
Definition
qquick3dparticledata_p.h:67
QQuick3DParticleData::startRotation
Vector3b startRotation
Definition
qquick3dparticledata_p.h:56
QQuick3DParticleData::surfaceNormal
QVector3D surfaceNormal
Definition
qquick3dparticledata_p.h:52
QQuick3DParticleData::startPosition
QVector3D startPosition
Definition
qquick3dparticledata_p.h:50
QQuick3DParticleData::startTime
float startTime
Definition
qquick3dparticledata_p.h:60
QQuick3DParticleEmitBurstData
Definition
qquick3dparticledata_p.h:76
QQuick3DParticleEmitBurstData::time
int time
Definition
qquick3dparticledata_p.h:78
QQuick3DParticleEmitBurstData::duration
int duration
Definition
qquick3dparticledata_p.h:79
QQuick3DParticleEmitBurstData::position
QVector3D position
Definition
qquick3dparticledata_p.h:80
QQuick3DParticleEmitBurstData::amount
int amount
Definition
qquick3dparticledata_p.h:77
Vector3b
Definition
qquick3dparticledata_p.h:30
Vector3b::x
qint8 x
Definition
qquick3dparticledata_p.h:31
Vector3b::z
qint8 z
Definition
qquick3dparticledata_p.h:33
Vector3b::y
qint8 y
Definition
qquick3dparticledata_p.h:32
qtquick3d
src
quick3dparticles
qquick3dparticledata_p.h
Generated on
for Qt by
1.14.0