PageRenderTime 47ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/Main/src/Microsoft.Research.Visualization3D/Providers/Particles/ExplosionParticleSystem.cs

#
C# | 50 lines | 36 code | 13 blank | 1 comment | 0 complexity | 4154efa6406fe7850801dabfb70204a8 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using SlimDX.Direct3D9;
  6. using Microsoft.Research.Visualization3D.CameraUtilities;
  7. namespace Microsoft.Research.Visualization3D.Particles
  8. {
  9. class ExplosionParticleSystem : ParticleSystem
  10. {
  11. public ExplosionParticleSystem(DX3DHost host, Visualization3DDataSource dataSource) :
  12. base(host, dataSource)
  13. {
  14. }
  15. protected override void InitializeSettings(ParticleSettings settings)
  16. {
  17. settings.TextureName = "smoke.png";
  18. settings.MaxParticles = 1000;
  19. settings.Duration = TimeSpan.FromSeconds(2.5);
  20. settings.DurationRandomness = 1;
  21. settings.MinHorizontalVelocity = 20;
  22. settings.MaxHorizontalVelocity = 30;
  23. settings.MinVerticalVelocity = -20;
  24. settings.MaxVerticalVelocity = 20;
  25. settings.EndVelocity = 0;
  26. settings.MinRotateSpeed = -1;
  27. settings.MaxRotateSpeed = 1;
  28. settings.MinStartSize = 1;
  29. settings.MaxStartSize = 1;
  30. settings.MinEndSize = 10;
  31. settings.MaxEndSize = 10;
  32. // Use additive blending.
  33. settings.SourceBlend = Blend.SourceAlpha;
  34. settings.DestinationBlend = Blend.One;
  35. }
  36. }
  37. }