• Advertisement
Sign in to follow this  

Alternatives to Particle Systems

This topic is 4309 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been researching particle systems for a project and while looking into the effectiveness of particle systems I'd quite like to look at any alternatives there may be. Does anyone know of any which I might look into? I'm currently looking at cellular automatas.

Share this post


Link to post
Share on other sites
Advertisement
Ok, what exaclty do you want to use Particles for? Is it display or calculation of fluid, heat...

If you are looking into alternatives for display I'd suggest looking into 3D Texture mapping / Volume rendering. You can get really nice smoke effects with these.

But if you are using particles for calculations (and as you mention CAs I guess you do) maybe some special types of particles could be nice for you. Take a look at "smoothed particle hydrodynamics".

Greetings, Roga

Share this post


Link to post
Share on other sites
I guess that would depend on what kind of effect you'd like to achieve. What is it you're trying to do with particles in the project?

Share this post


Link to post
Share on other sites
It's not really a project. I'm writing a report on my research of particle systems.

Basically, the section I was asking about looks into alternative ways to generate the fuzzy effects which particle systems create.

Share this post


Link to post
Share on other sites
Well, another way to make a smooth fuzz in an area or around an object is to render a separate image with a bright object in that area, blur it and apply it to the original image as a semi-transparent overlay. This is often used to create color bloom effects.

Share this post


Link to post
Share on other sites
I don't mean fuzzy in that sense of the word.

Particle systems were originally created by William T. Reeves and he deemed any chaotic effect such as fire or smoke as a "fuzzy" effect. Particle systems were made to try and recreate these fuzzy effects.

Share this post


Link to post
Share on other sites
hyper-textures, voxels, navier-stokes, and marching cubes for rendering. Probably a heap of others, but they normally fall into only a few catagories. Flocking systems i guess might fall into a fuzzy catagory.

Share this post


Link to post
Share on other sites
Basically, I'm trying to think of ways in which games have generated effects such as fire and water.

I can't remember any early Playstation games using particle systems to generate fire, for example, because they weren't powerful enough. I'm assuming that they relied on animated textures and other techniques.

In a similar vain, I can't imagine that particle systems will be used forever. Only until something better shows up on the horizon. Are there any shaders which would deal with particle effects, for example?

Share this post


Link to post
Share on other sites
Quote:
Original post by RobTheBloke
hyper-textures, voxels, navier-stokes, and marching cubes for rendering. Probably a heap of others, but they normally fall into only a few catagories. Flocking systems i guess might fall into a fuzzy catagory.


You stole the words right out of my mouth...

redneon, if you want to get into realistic fire and water simulation, the Navier-Stokes equations will be the way to go.

Share this post


Link to post
Share on other sites
Cool, I'll look at those.

I've already done flocking systems. Very impressive they are too.

Share this post


Link to post
Share on other sites
In the case of smoke (and fire) you can use a finite elements approach to solving the fluid equations. This approach is not unlike CA, since you usually represent the fluid (smoke in your case) with grids/lattices and you update them using specific rules each frame (some might disagree with my definition of CA though).

A good start would probably be Jos Stam's papers (specificaly Real-Time Fluid Dynamics for Games and Stable Fluids). I managed to implement a simple fluid solver in a few hours by reading the Real-Time Fluid Dynamics for Games paper (really fun to play around with :), without knowing much about the subject beforehand.

And if you're really into fluid dynamics you might want to try the Lattice Boltzmann method/model (pure CA). Reportedly, it's becomming quite popular in the area of computational fluid dynamics for its simplicity and speed.

Like Rogalon suggested, you can probably also use 3D textures / hypertextures / volume rendering to achieve a visual effect similiar to smoke/fire (haven't tried it though).


That's all I can remember as a serious alternative to particles at the moment, though I'm sure there exists many even more esoteric ways to achieve the same effect :)

Hopefully this has been helpful to you.

Regards,
Devilogic

Share this post


Link to post
Share on other sites
Quote:
Original post by Devilogic
Like Rogalon suggested, you can probably also use 3D textures / hypertextures / volume rendering to achieve a visual effect similiar to smoke/fire (haven't tried it though).

To get you going:

Below is a link to the source, executables, and images related to my current voxel renderer. It works only on 6200 and better GPUs, sorry ATI owners. The gas cloud data was obtained from a custom version of Stam's Stable Fluids.

It uses OpenGL 3D textures for the volume data, and GLSL for the rendering.

The renderer uses Snell's Law for now, but if you are interested in obtaining the source for the upcoming Fresnel equations-based renderer, please send me a private message.

Have fun, no license, free for all, save the whales, GO FLAMES, etc:



http://cwiki.org/index.php/Special:Newimages

Source:
Gpuvol_src.rar -- full C++/OpenGL source code
Distribute.rar -- resources, including necessary shaders

Current runtime:
Distribute-apr04-2006.rar

Old runtimes:
(various RAR and ZIP files)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement