Thread: [Algorithms] fillrate problem on particle system
Brought to you by:
vexxed72
From: Igor L. <lv...@po...> - 2003-07-31 09:18:18
|
Hi all. I have particle system implemented using billboards with transparency Most of billboards overlap with several ones, so it reduces overall rendering performance. How to solve fillrate problem on rendering the particle system? Igor |
From: Nelson Yu <ny...@cs...> - 2003-07-31 11:40:02
|
Draw less ;-) In general if you can create a "Particle Manager" that keeps tracks of particles and their bounds. When particles are within a certain tolerance of each other fade them to death. Works well for small number of particles with large screen space coverage. On the Xbox (OT), try linear textures, smaller textures (avoid minification) and remove the (large-grained) occlusion culling state. Nelson Criterion Games |
From: Igor L. <lv...@po...> - 2003-07-31 21:27:34
|
> Draw less ;-) it's clear :-) > In general if you can create a "Particle Manager" that keeps tracks of > particles and their bounds. When particles are within a certain tolerance of > each other fade them to death. Works well for small number of particles with > large screen space coverage. need to think about > On the Xbox (OT), try linear textures, smaller textures (avoid yeah.. it solved a problem partially, thanks |
From: Simon O'C. <si...@cr...> - 2003-07-31 23:13:03
|
Assuming you've definately confirmed* that fillrate is the issue and not something like texture minification etc: - If the rendered billboards have lots of totally or almost transparent pixels (A=0), try rendering with alpha test to reject those. - If the rendered billboards have lots of totally solid pixels (A=1), you could render in two passes: 1) first with Z writes on, alpha blending off, and alpha test set to reject any A<1 pixels 2) second with normal blending on, and maybe alpha test set to reject A=1 pixels The above should still be possible even with things like additive colour blends simply by putting things like the intensity into the alpha channel - even if that isn't used in the blend. There may be something interesting possible with render target textures (probably ones with dest alpha) and/or stencil buffers for determining when areas of overlapping billboards become opaque - in those cases, could use the same sort of multiple pass idea. I'd always recommend trying stupidly small textures for your billboards just to see how it looks. For things like explosions and smoke, you'd be surprised just how good they can look when combined with filtering. Smaller render target textures let you exploit the same idea. [* there are some very good papers/presentations on both the ATI and nVidia sites about determining the exact location(s) of bottlenecks and suggestions for eliminating them - mostly relevent to other platforms too] -- Simon O'Connor Programmer & Microsoft MVP > -----Original Message----- > From: gda...@li... > [mailto:gda...@li...]On Behalf > Of Igor Lvov > Sent: 31 July 2003 10:12 > To: gda...@li... > Subject: [Algorithms] fillrate problem on particle system > > > Hi all. > > I have particle system implemented using billboards with transparency > Most of billboards overlap with several ones, so it reduces overall > rendering performance. > > How to solve fillrate problem on rendering the particle system? > > Igor > > |
From: Conor S. <cs...@tp...> - 2003-08-01 10:13:41
|
> I'd always recommend trying stupidly small textures for your billboards just > to see how it looks. For things like explosions and smoke, you'd be > surprised just how good they can look when combined with filtering. Smaller > render target textures let you exploit the same idea. Don't forget that particle textures don't usually wrap, so they are ideal candidates to put multiple into a single texture and avoid that some state changes - so you could easily have 256 stupidly small textures in one larger. Conor Stokes |
From: Martin F. <mf...@at...> - 2003-08-01 08:44:09
|
One thing I tried on a console was to render particle effects to a quater sized buffer, 320x256 PAL, 320x224 NTSC. Of course this requires also that you create a quater sized z-buffer. (Not sure if you can do this on a PC at the moment) It worked really well, the drop in quality wasn't significant, infact it was unnoticeable for most effects and being able to render 4x the number of particles was a signficant +. Cheers, Martin -----Original Message----- From: gda...@li... [mailto:gda...@li...]On Behalf Of Igor Lvov Sent: 31 July 2003 10:12 To: gda...@li... Subject: [Algorithms] fillrate problem on particle system Hi all. I have particle system implemented using billboards with transparency Most of billboards overlap with several ones, so it reduces overall rendering performance. How to solve fillrate problem on rendering the particle system? Igor |