← Back to results

HTTP/1

.1 200 OK date: Thu, 02 Jul 2026 17:36:16 GMT server: mw-web.codfw.main-5b9465ddc4-tgqvf x-content-type-options: nosniff content-language: en accept-ch: reporting-endpoints: csp-report-to-endpoint='/w/api.php?action=cspreport&format=json'; content-security-policy: script-src 'unsafe-eval' blob: 'self' meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost https://localhost:* http://localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org 'unsafe-inline' auth.wikimedia.org; default-src 'self' data: blob: upload.wikimedia.org https://commons.wikimedia.org meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost https://localhost:* http://localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org en.wikibooks.org en.wikinews.org en.wikiquote.org en.wikisource.org en.wikiversity.org en.wikivoyage.org en.wiktionary.org www.mediawiki.org commons.wikimedia.org foundation.wikimedia.org incubator.wikimedia.org species.wikimedia.org wikimania.wikimedia.org www.wikidata.org www.wikifunctions.org auth.wikimedia.org; style-src 'self' data: blob: upload.wikimedia.org https://commons.wikimedia.org meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost https://localhost:* http://localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org 'unsafe-inline'; object-src 'none'; report-uri /w/api.php?action=cspreport&format=json; report-to csp-report-to-endpoint last-modified: Fri, 19 Jun 2026 16:35:08 GMT content-type: text/html; charset=UTF-8 age: 0 accept-ranges: bytes x-cache: cp2047 hit, cp2047 miss x-cache-status: hit-local server-timing: cache;desc="hit-local", host;desc="cp2047" strict-transport-security: max-age=106384710; includeSubDomains; preload report-to: { "group": "wm_nel", "max_age": 604800, "endpoints": [{ "url": "https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0" }] } nel: { "report_to": "wm_nel", "max_age": 604800, "failure_fraction": 0.05, "success_fraction": 0.0} set-cookie: WMF-Last-Access=02-Jul-2026;Path=/;HttpOnly;secure;Expires=Mon, 03 Aug 2026 12:00:00 GMT set-cookie: WMF-Last-Access-Global=02-Jul-2026;Path=/;Domain=.wikipedia.org;HttpOnly;secure;Expires=Mon, 03 Aug 2026 12:00:00 GMT set-cookie: WMF-DP=57f;Path=/;HttpOnly;secure;Expires=Fri, 03 Jul 2026 00:00:00 GMT x-client-ip: 75.28.18.94 cache-control: private, s-maxage=0, max-age=0, must-revalidate, no-transform vary: Accept-Encoding,X-Subdomain,Cookie,Authorization,User-Agent set-cookie: GeoIP=US:TX:McKinney:33.20:-96.62:v4; Path=/; secure; Domain=.wikipedia.org set-cookie: NetworkProbeLimit=0.001;Path=/;Secure;SameSite=None;Max-Age=3600 set-cookie: WMF-Uniq=Im1ABzZD2-BGG06RVYOKLgORAAAAAFvdSX8IThpRdwQPDAatP3aemd7cVYOF4oe9;Domain=.wikipedia.org;Path=/;HttpOnly;secure;SameSite=None;Expires=Fri, 02 Jul 2027 00:00:00 GMT transfer-encoding: chunked x-request-id: 8b8e755f-a468-4532-83e9-3a3d41405617 x-analytics: 8000 Particle system - Wikipedia Jump to content Main menu Main menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Print/export Download as PDF Printable version In other projects Wikimedia Commons Wikidata item Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 Typical implementation Toggle Typical implementation subsection 1.1 Emission stage 1.2 Simulation stage 1.3 Rendering stage 2 Particle system taxonomy 3 Developer-friendly particle system tools 4 See also 5 References 6 External links Toggle the table of contents Particle system 18 languages Català Deutsch Español فارسی Suomi Français Ido Italiano 日本語 한국어 Latviešu Polski Português Русский සිංහල Українська 粵語 中文 Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikimedia Commons Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Technique in game physics, motion graphics and computer graphics This article is about 3D computer graphics. For the computer game developer, see Particle Systems . This article includes a list of general references , but it lacks sufficient corresponding inline citations . Please help to improve this article by introducing more precise citations. ( January 2018 ) ( Learn how and when to remove this message ) A particle system used to simulate a fire, created in 3dengfx Ad hoc particle system used to simulate a galaxy, created in 3dengfx A particle system used to simulate a bomb explosion, created in particleIllusion A particle system is a technique in game physics , motion graphics , and computer graphics that uses many minute sprites , 3D models , or other graphic objects to simulate certain kinds of "fuzzy" phenomena, which are otherwise very hard to reproduce with conventional rendering techniques – usually highly chaotic systems, natural phenomena, or processes caused by chemical reactions. Introduced in the 1982 film Star Trek II: The Wrath of Khan for the fictional "Genesis effect", [ 1 ] other examples include replicating the phenomena of fire , explosions , smoke , moving water (such as a waterfall), sparks , falling leaves, rock falls, clouds , fog , snow , dust , meteor tails, stars and galaxies, or abstract visual effects like glowing trails, magic spells , etc. – these use particles that fade out quickly and are then re-emitted from the effect's source. Another technique can be used for things that contain many strands – such as fur, hair, and grass – involving rendering an entire particle's lifetime at once, which can then be drawn and manipulated as a single strand of the material in question. Particle systems are defined as a group of points in space, guided by a collection of rules defining behavior and appearance. Particle systems model phenomena as a cloud of particles, using stochastic processes to simplify the definition of dynamical system and fluid mechanics with that are difficult to represent with affine transformations . [ 2 ] Typical implementation [ edit ] Dynamic Simulation of Air Particles (Bifröst) Particle systems typically implement the following modules: An emission stage , which provides a location and generates new particles. A simulation stage , which update parameters and simulates how particles evolve. A rendering stage , which specifies how to render a particle. Emission stage [ edit ] An emitter implements a spawning rate (how many particles are generated per unit of time), the particles' initial velocity vector (the direction they are emitted upon creation). When using a mesh object as an emitter, the initial velocity vector is often set to be normal to the individual face(s) of the object, making the particles appear to "spray" directly from each face but this is optional. Simulation stage [ edit ] During the simulation stage, the number of new particles that must be created is calculated based on spawning rates and the interval between updates, and each of them is spawned in a specific position in 3D space based on the emitter's position and the spawning area specified. Each of the particle's parameters (i.e. velocity, color, etc.) is initialized according to the emitter's parameters. At each update, all existing particles are checked to see if they have exceeded their lifetime, in which case they are removed from the simulation. Otherwise, the particles' position and other characteristics are advanced based on a physical simulation, which can be as simple as translating their current position, or as complicated as performing physically accurate trajectory calculations which take into account external forces (gravity, friction, wind, etc.). It is common to perform collision detection between particles and specified 3D objects in the scene to make the particles bounce off of or otherwise interact with obstacles in the environment. Collisions between particles are rarely used, as they are computationally expensive and not visually relevant for most simulations. Rendering stage [ edit ] After the update is complete, each particle is rendered, usually in the form of a textured billboarded quad (i.e. a quadrilateral that is always facing the viewer). However, this is sometimes not necessary for games; a particle may be rendered as a single pixel in small resolution/limited processing power environments. Conversely, in motion graphics particles tend to be full but small-scale and easy-to-render 3D models, to ensure fidelity even at high resolution. Particles can be rendered as Metaballs in off-line rendering; isosurfaces computed from particle-metaballs make quite convincing liquids. Finally, 3D mesh objects can "stand in" for the particles — a snowstorm might consist of a single 3D snowflake mesh being duplicated and rotated to match the positions of thousands or millions of particles. [ 3 ] Particle system taxonomy [ edit ] In 1983, Reeves defined only animated points, creating moving particulate simulations — sparks, rain, fire, etc. In these implementations, each frame of the animation contains each particle at a specific position in its life cycle, and each particle occupies a single point position in space. For effects such as fire or smoke that dissipate, each particle is given a fade out time or fixed lifetime; effects such as snowstorms or rain instead usually terminate the lifetime of the particle once it passes out of a particular field of view . [ 1 ] In 1985, Reeves extended the concept to include rendering the entire life cycle of each particle simultaneously, the result transforms particles into static strands of material that show the overall trajectory, rather than points. These strands can be used to simulate hair, fur, grass, and similar materials. The strands can be controlled with the same velocity vectors, force fields, spawning rates, and deflection parameters that animated particles obey. In addition, the rendered thickness of the strands can be controlled and in some implementations may be varied along the length of the strand. Different combinations of parameters can impart stiffness, limpness, heaviness, bristliness, or any number of other properties. The strands may also use texture mapping to vary the strands' color, length, or other properties across the emitter surface. [ 4 ] In 1987, Reynolds introduces no 8000 tions of flocking , herding or schooling behaviors. The boids model extends particle simulation to include external state interactions including goal seeking, collision avoidance, flock centering, and limited perception. [ 5 ] In 2003, Müller extended particle systems to fluidics by simulating viscosity , pressure and surface tension , and then rendered surfaces by interpolating the discrete positions with Smoothed Particle Hydrodynamics . [ 6 ] A cube emitting 5000 animated particles, obeying a "gravitational" force in the negative Y direction The same cube emitter rendered using static particles, or strands Developer-friendly particle system tools [ edit ] Particle systems code that can be included in game engines, digital content creation systems, and effects applications can be written from scratch or downloaded. Havok provides multiple particle system APIs. Their Havok FX API focuses especially on particle system effects. Ageia - now a subsidiary of Nvidia - provides a particle system and other game physics API that is used in many games, including Unreal Engine 3 games. Both GameMaker Studio and Unity provide a two-dimensional particle system often used by indie , hobbyist, or student game developers, though it cannot be imported into other engines. Many other solutions also exist, and particle systems are frequently written from scratch if non-standard effects or behaviors are desired. See also [ edit ] N-body simulation Particle method References [ edit ] ^ a b Reeves, William (1983). "Particle Systems—A Technique for Modeling a Class of Fuzzy Objects" (PDF) . ACM Transactions on Graphics . 2 (2): 91– 108. CiteSeerX   10.1.1.517.4835 . doi : 10.1145/357318.357320 . S2CID   181508 . Retrieved 2018-06-13 . ^ Hastings EJ, Guha RK, Stanley KO (2008-12-09). "Interactive evolution of particle systems for computer graphics and animation". IEEE Transactions on Evolutionary Computation . 13 (2): 418– 32. CiteSeerX   10.1.1.365.5720 . doi : 10.1109/TEVC.2008.2004261 . S2CID   11390585 . ^ Sims K (1990-09-01). "Particle animation and rendering using data parallel computation" (PDF) . Proceedings of the 17th annual conference on Computer graphics and interactive techniques . pp.  405– 413. doi : 10.1145/97879.97923 . ISBN   0897913442 . S2CID   2791741 . Retrieved 2022-01-17 . ^ Reeves, William T.; Blau, Ricki (July 1985). "Approximate and probabilistic algorithms for shading and rendering structured particle systems". ACM SIGGRAPH Computer Graphics . 19 (3): 313– 322. doi : 10.1145/325165.325250 . ^ Reynolds, Craig (1987). "Flocks, herds and schools: A distributed behavioral model". Proceedings of the 14th annual conference on Computer graphics and interactive techniques . Association for Computing Machinery . pp.  25– 34. CiteSeerX   10.1.1.103.7187 . doi : 10.1145/37401.37406 . ISBN   978-0-89791-227-3 . S2CID   546350 . ^ Müller M, Charypar D, Gross M. "Particle-Based Fluid Simulation for Interactive Applications" (PDF) . SIGGRAPH Symposium on Computer Animation . Retrieved 2022-01-18 . External links [ edit ] The ocean spray in your face. — Jeff Lander (Graphic Content, July 1998) Building an Advanced Particle System — John van der Burg ( Gamasutra , June 2000) Particle Engine Using Triangle Strips — Jeff Molofee ( NeHe ) Designing an Extensible Particle System using C++ and Templates — Kent Lai (GameDev.net) repository of public 3D particle scripts in LSL Second Life format - Ferd Frederix GPU-Particlesystems using WebGL - Particle effects directly in the browser using WebGL for calculations. Retrieved from " https://en.wikipedia.org/w/index.php?title=Particle_system&oldid=1298946642 " Categories : 3D computer graphics Computer physics engines Virtual reality Hidden categories: Articles with short description Short description is different from Wikidata Articles lacking in-text citations from January 2018 All articles lacking in-text citations This page was last edited on 5 July 2025, at 18:26  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Particle system 18 languages Add topic 0