Home » Community » Forums » DirectX and XNA » Particle System - Point Sprites?
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 Particle System - Point Sprites?
Post New Topic  Post Reply 
Nowadays, in a particle system, do people use the directx point sprites, or is it better to draw a quad as a particle?

Plus what the general and complicated effects that are created using a particle system?

Just wondering so I can plan how to build my particle system.

Thanks

 User Rating: 1053   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Both of approach use quads for particles. Just create dynamic vertex buffer and update it in real-time.
Implemented particle systems effects depends on programmer. It is up to your imagination. You can have basic effects like fire, smoke, rain, snow, stars or even something complicated. I have made black-hole effect using particles for example, with several spiraly positioned magnets points that pulled particles toward them combinated with self-gravity.


[www.electricstreams.com]

 User Rating: 1144   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

If u have like a fire or something and it is contineous, i dont "kill" my particles, but re=spawn them back to thier original position, stoping memory fragmentation, always good to allow for this in particle engine design.

 User Rating: 1007   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Point Sprites pose several limitations, which might be crucial in your implementation of particle system. Here's a quick review:

- Lack of support. I've heard this claimed several times, though I've never actually encountered it not working in any of my implementations. This is probably the most serious issue, and reportedly support for point sprites is horrible on some hardware configurations.

- MaxPointSize. From a caps DB I had a look over a while back, it showed that ATI hardware (including at least one in the X1X range only supported points up to 256 pixels wide/high. This is quite a low number in modern resolutions, and would post quite a big limitation.

- No rotation. Point sprites don't support rotation. If you want, you *could* implement this in a pixel shader, but you'd likely suffer quite a bit of overhead. I'm currently implementing such a system just to see how much of an overhead that really is.

- Must be square. Point sprites must be square. Again, you can change their size in a pixel shader by clipping certain pixels, but that's just a bit too crude for my liking.

- They don't offer too much of a benifit. Particle systems rarely max out the vertex pipeline. Even transforming 4 times less vertices is likely to have little to no effect on actual performance.

Their only real benifit in a simple particle system is that they require less data to be uploaded to the GPU each frame, but if done right this isn't much of an issue even with 4 per particle.
With more complex systems point sprites allow for more complex per-vertex calculations, making stuff like GPU particles more flexible.

Hope this helps.


Sirob Yes.» - status: Intern-O-Rama.

 User Rating: 1716   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Sirob, I have encountered some support issues for PSIZE on nVidia based graphics cards. But as stated above are excellent reasons for considering NOT to use point sprites.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I tend to use point sprites for very simple particle effects - such as sparks but for the more complex stuff that require rotation I use quads.

 User Rating: 1009   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

I used Point Sprites, then I realized I needed most of my particles to rotate, so I just created my own particle system.

 User Rating: 1024   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: