PolyParticle.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * PolyParticle.h
  3. * Poly
  4. *
  5. * Created by Ivan Safrin on 7/18/08.
  6. * Copyright 2008 __MyCompanyName__. All rights reserved.
  7. *
  8. */
  9. // @package Scene
  10. #pragma once
  11. #include "PolyString.h"
  12. #include "PolyGlobals.h"
  13. #include "PolySceneEntity.h"
  14. #include "PolyScreenShape.h"
  15. #include "PolyScenePrimitive.h"
  16. #include "PolyCoreServices.h"
  17. namespace Polycode {
  18. class _PolyExport Particle {
  19. public:
  20. Particle(int particleType, bool isScreenParticle, Material *material, Texture *texture, Mesh *particleMesh);
  21. ~Particle();
  22. void Reset();
  23. void createSceneParticle(int particleType, Material *material, Mesh *particleMesh);
  24. void createScreenParticle(int particleType, Texture *texture, Mesh *particleMesh);
  25. Entity *particleBody;
  26. Vector3 velVector;
  27. Vector3 dirVector;
  28. Vector3 deviation;
  29. float life;
  30. float lifespan;
  31. float brightnessDeviation;
  32. float perlinPosX;
  33. float perlinPosY;
  34. float perlinPosZ;
  35. static const int BILLBOARD_PARTICLE = 0;
  36. static const int MESH_PARTICLE = 1;
  37. };
  38. }