Real-Time Simulation of Fireworks Based on CUDA and Particle System

Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 216)


There are two performance bottlenecks in fireworks simulation using traditional particle system that utilizes CPU to update particle properties. First, the efficiency is low using CPU to update the property of each particle. Second, CPU will transfer each updated data every time to GPU for rendering, which causes too frequent communication between CPU and GPU. This paper introduces a new particle system method for fireworks simulation based on compute unified device architecture (CUDA). The method uses parallel threads of CUDA to update the particle properties. It reduces the frequent communication between CPU and GPU by graphics interoperability of CUDA and OpenGL. The field experiment shows that the rendering speed of fireworks simulation is accelerated using CUDA. The rendering effect can meet the real-time requirement of video game and virtual reality.


Particle system Fireworks CUDA Texture mapping 


  1. 1.
    Reeves WT (1983) Particle systems—a technique for modeling a class of fuzzy objects. ACM Comput Graph (Siggraph’ 83) 17(3):359–376Google Scholar
  2. 2.
    Shu Z, Kai-Yong Z et al (2009) GPU high performance computing programming with CUDA, vol 8(3). China Water Power Press, China, pp 8–13Google Scholar
  3. 3.
    Zhang QWU, Jian HZZ (2003) Study on modeling method based on particle system. Comput Sci 8(3):11–14Google Scholar
  4. 4.
    Sims K (1990) Particle animation and rendering using data parallel computation. Comput Graph 2(4):88–90MathSciNetGoogle Scholar
  5. 5.
    Wu L, Crocoll P (2001) Code colony. Part Engine 6(3):90–99Google Scholar
  6. 6.
    Wang J, Hu W, Jin Y (2010) 8-word dynamic fireworks simulation based on particle system. Comput Simul 2(7):76–78Google Scholar
  7. 7.
    Li Q, Yang G, Wang X (2009) Particle system based fireworks modeling and its algorithm simulation. J Syst Simul 2(1):99–101MathSciNetGoogle Scholar
  8. 8.
    Tang L (2011) NVIDIA CUDA C programming guide 9(1):345–349Google Scholar
  9. 9.
    Sanders J, Kandrot E (2011) CUDA by example: an introduction to general-purpose GPU programming, vol 6(2). Mechanical Industry Press, China, pp 103–113Google Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  1. 1.School of Computer Engineering and ScienceShanghai UniversityShanghaiChina

Personalised recommendations