Qt
6.x
The Qt SDK
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
// Use Vector3b to reduce the memory usage, rotations work with less accuracy.
53
// These need to be qint8 and not quint8 as rotations can go either direction.
54
Vector3b
startRotation
;
55
Vector3b
startRotationVelocity
;
56
Color4ub
startColor
;
57
// Seconds, system time when this particle was emitted
58
float
startTime
= -1.0f;
59
// Seconds, particle lifetime
60
float
lifetime
= 0.0f;
61
// Unified scaling among axes
62
float
startSize
= 1.0f;
63
float
endSize
= 1.0f;
64
// Seconds, sprite sequence animation total time
65
float
animationTime
= -1.0f;
66
// Index/id of the particle. Used to get unique random values.
67
// Might not be necessary, check later
68
int
index
= 0;
69
// Size: 12+12+3+3+4+4+4+4+4+4 = 54 bytes
70
};
71
72
// Data structure for storing bursts
73
struct
QQuick3DParticleEmitBurstData
{
74
int
amount
= 0;
75
int
time
= 0;
76
int
duration
= 0;
77
QVector3D
position
;
78
};
79
80
QT_END_NAMESPACE
81
82
#endif
// QQUICK3DPARTICLEDATA_H
QVector3D
The QVector3D class represents a vector or vertex in 3D space.
Definition
qvectornd.h:171
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
b
GLboolean GLboolean GLboolean b
Definition
qopengles2ext.h:337
z
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
Definition
qopengles2ext.h:2707
x
GLint GLint GLint GLint GLint x
[0]
Definition
qopengles2ext.h:605
a
GLboolean GLboolean GLboolean GLboolean a
[7]
Definition
qopengles2ext.h:337
index
GLuint index
[2]
Definition
qopengles2ext.h:331
r
GLboolean r
[2]
Definition
qopengles2ext.h:337
g
GLboolean GLboolean g
Definition
qopengles2ext.h:337
y
GLint y
Definition
qopengles2ext.h:206
uchar
unsigned char uchar
Definition
qtypes.h:27
qint8
QT_BEGIN_NAMESPACE typedef signed char qint8
Definition
qtypes.h:40
Color4ub
Definition
qquickparticlesystem_p.h:204
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:56
QQuick3DParticleData::startRotationVelocity
Vector3b startRotationVelocity
Definition
qquick3dparticledata_p.h:55
QQuick3DParticleData::endSize
float endSize
Definition
qquick3dparticledata_p.h:63
QQuick3DParticleData::startSize
float startSize
Definition
qquick3dparticledata_p.h:62
QQuick3DParticleData::lifetime
float lifetime
Definition
qquick3dparticledata_p.h:60
QQuick3DParticleData::animationTime
float animationTime
Definition
qquick3dparticledata_p.h:65
QQuick3DParticleData::startRotation
Vector3b startRotation
Definition
qquick3dparticledata_p.h:54
QQuick3DParticleData::startPosition
QVector3D startPosition
Definition
qquick3dparticledata_p.h:50
QQuick3DParticleData::startTime
float startTime
Definition
qquick3dparticledata_p.h:58
QQuick3DParticleEmitBurstData
Definition
qquick3dparticledata_p.h:73
QQuick3DParticleEmitBurstData::time
int time
Definition
qquick3dparticledata_p.h:75
QQuick3DParticleEmitBurstData::duration
int duration
Definition
qquick3dparticledata_p.h:76
QQuick3DParticleEmitBurstData::position
QVector3D position
Definition
qquick3dparticledata_p.h:77
QQuick3DParticleEmitBurstData::amount
int amount
Definition
qquick3dparticledata_p.h:74
Vector3b
Definition
qquick3dparticledata_p.h:30
qtquick3d
src
quick3dparticles
qquick3dparticledata_p.h
Generated by
1.9.7