> I think that's just a side-effect of having so many pixels covered by
> (multiple) quads with alpha.  I'm not sure there's much we can do
> about that, unless we somehow start dropping sprites.  I'll have a
> think - 3D cloud perf has always been a big challenge.

Based on my own experiments, I agree. If we have 20 sprites in the cloud and 
the cloud covers the whole screen, the fragment shader does at last 20 texture 
lookups per pixel - which are pretty expensive. It's basically the equivalent 
of rendering the urban effect on the whole screen (anyone here who can do this 
with good framerates? - I get about 6 fps if I try...)

There's one thing we could try which might help a bit - in addition to texture 
lookup, the fragment shader also fogs the clouds. If we don't do fogging for 
nearby clouds (i.e. the ones which cover the whole screen), we don't really 
change the visuals, but save 20+ repetitions of fogging computation. 

An alternative option would be to not render really close cloud by texture at 
all (= drop fragments based on a distance cut) and replace them by a 
procedurally generated pattern. This may be rather tricky to get right, but if 
the function isn't too complicated, it may be cheapter than to read textures, 
and we'd get hires closeups as a bonus.

Dropping sprites certainly helps, but it takes away the feeling of volume - 
which is especially important for nearby clouds. :-(

* Thorsten

* Thorsten
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_nov
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to