|
||||||||||||||||||
Add Forum to Favorites | Send Topic To a Friend | View Forum FAQ | Track this topic |
Last Thread Next Thread ![]() |
| Particle System - Point Sprites? |
|
![]() littlekid Member since: 1/25/2005 |
||||
|
|
||||
| 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 |
||||
|
||||
![]() streamer Member since: 6/3/2005 From: Budapest, Hungary |
||||
|
|
||||
| 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] |
||||
|
||||
![]() Twinsen2 Member since: 7/26/2005 From: Brisbane, Australia |
||||
|
|
||||
| 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. |
||||
|
||||
![]() sirob GDNet+ Member since: 11/2/2002 From: Haifa, Israel. |
||||
|
|
||||
| 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. |
||||
|
||||
![]() Ashyre Member since: 10/25/2006 From: Orlando, FL, United States |
||||
|
|
||||
| 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. |
||||
|
||||
![]() Byron Member since: 3/25/2001 From: United Kingdom |
||||
|
|
||||
| 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. |
||||
|
||||
![]() SweetToothKane Member since: 5/25/2006 From: Chandler, AZ, United States |
||||
|
|
||||
| I used Point Sprites, then I realized I needed most of my particles to rotate, so I just created my own particle system. |
||||
|
||||
All times are ET (US)![]() |
Last Thread Next Thread ![]() |
|