summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/ParticleSystem/ParticleSystemCommon.h
blob: fd5998735826d24226203cdeb6285e18c8651734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef PARTICLESYSTEMCOMMON_H
#define PARTICLESYSTEMCOMMON_H

enum ParticleSystemSubType
{
	kParticleSystemSubTypeBirth,
	kParticleSystemSubTypeCollision,
	kParticleSystemSubTypeDeath,
};

enum ParticleSystemEmitMode
{
	kParticleSystemEMDirect,
	kParticleSystemEMStaging,
};

enum
{
	kParticleSystemMaxSubBirth = 2,
	kParticleSystemMaxSubCollision = 2,
	kParticleSystemMaxSubDeath = 2,
	kParticleSystemMaxSubTotal = kParticleSystemMaxSubBirth + kParticleSystemMaxSubCollision + kParticleSystemMaxSubDeath,
};

// Curve id's needed to offset randomness for curves, to avoid visible patterns due to only storing 1 random value per particle
enum ParticleSystemRandomnessIds
{
	// Curves
	kParticleSystemClampVelocityCurveId = 0x13371337,
	kParticleSystemForceCurveId = 0x12460f3b,
	kParticleSystemRotationCurveId = 0x6aed452e,
	kParticleSystemRotationBySpeedCurveId = 0xdec4aea1,
	kParticleSystemStartSpeedCurveId = 0x96aa4de3,
	kParticleSystemSizeCurveId = 0x8d2c8431,
	kParticleSystemSizeBySpeedCurveId = 0xf3857f6f,
	kParticleSystemVelocityCurveId = 0xe0fbd834,
	kParticleSystemUVCurveId = 0x13740583,

	// Gradient
	kParticleSystemColorGradientId = 0x591bc05c,
	kParticleSystemColorByVelocityGradientId = 0x40eb95e4,

	// Misc
	kParticleSystemMeshSelectionId = 0xbc524e5f,
	kParticleSystemUVRowSelectionId = 0xaf502044,
};

#endif // PARTICLESYSTEMCOMMON_H