ParticleSystemCommon.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // ParticleSystemCommon.h
  3. // cocos2d_libs
  4. //
  5. // Created by 徐俊杰 on 2020/4/24.
  6. //
  7. #ifndef ParticleSystemCommon_h
  8. #define ParticleSystemCommon_h
  9. //#include "cocos2d.h"
  10. #include "rparticle/Macros/RParticleMacros.h"
  11. NS_RRP_BEGIN
  12. enum ParticleSystemScalingMode
  13. {
  14. kParticleSystemScalingModeHierarchy,
  15. kParticleSystemScalingModeLocal,
  16. kParticleSystemScalingModeShape,
  17. };
  18. enum ParticleSystemSubType
  19. {
  20. kParticleSystemSubTypeBirth,
  21. kParticleSystemSubTypeCollision,
  22. kParticleSystemSubTypeDeath,
  23. };
  24. enum ParticleSystemEmitMode
  25. {
  26. kParticleSystemEMDirect,
  27. kParticleSystemEMStaging,
  28. };
  29. enum
  30. {
  31. kParticleSystemMaxSubBirth = 2,
  32. kParticleSystemMaxSubCollision = 2,
  33. kParticleSystemMaxSubDeath = 2,
  34. kParticleSystemMaxSubTotal = kParticleSystemMaxSubBirth + kParticleSystemMaxSubCollision + kParticleSystemMaxSubDeath,
  35. };
  36. // Curve id's needed to offset randomness for curves, to avoid visible patterns due to only storing 1 random value per particle
  37. enum ParticleSystemRandomnessIds
  38. {
  39. // Curves
  40. kParticleSystemClampVelocityCurveId = 0x13371337,
  41. kParticleSystemForceCurveId = 0x12460f3b,
  42. kParticleSystemRotationCurveId = 0x6aed452e,
  43. kParticleSystemRotationBySpeedCurveId = 0xdec4aea1,
  44. kParticleSystemStartSpeedCurveId = 0x96aa4de3,
  45. kParticleSystemSizeCurveId = 0x8d2c8431,
  46. kParticleSystemSizeBySpeedCurveId = 0xf3857f6f,
  47. kParticleSystemVelocityCurveId = 0xe0fbd834,
  48. kParticleSystemUVCurveId = 0x13740583,
  49. kParticleSystemDragCurveId = 0x53271233,
  50. // Gradient
  51. kParticleSystemColorGradientId = 0x591bc05c,
  52. kParticleSystemColorByVelocityGradientId = 0x40eb95e4,
  53. // Misc
  54. kParticleSystemMeshSelectionId = 0xbc524e5f,
  55. kParticleSystemUVRowSelectionId = 0xaf502044,
  56. };
  57. enum ParticleSystemRenderMode {
  58. kSRMBillboard = 0,
  59. kSRMStretch3D = 1,
  60. kSRMBillboardFixedHorizontal = 2,
  61. kSRMBillboardFixedVertical = 3,
  62. kSRMMesh = 4,
  63. };
  64. enum ParticleSystemSortMode
  65. {
  66. kSSMNone,
  67. kSSMByDistance,
  68. kSSMYoungestFirst,
  69. kSSMOldestFirst,
  70. };
  71. NS_RRP_END
  72. #endif /* ParticleSystemCommon_h */