Hi Chris,

Thanks for the comment. From what I can tell, Forward+ is the same technique 
that I'm doing, except that it uses grid culling to accelerate the building of 
light lists. This will give you a performance boost in scenes with thousands of 
lights, but isn't necessary otherwise. For me the light list collection isn't 
really a bottleneck at the moment, but this will depend on your scene of course.


> 
> Have you considered a non-FFP solution? Withthis, you could have more than 8 
> lights. 
> 

Yeah, I know. I will add shaders at some later point, but the FFP will remain 
as fallback (I want it to run on old hardware).

Shaders are always very engine specific, so you couldn't really make them into 
a general purpose plugin like I'm proposing here ;)

There are two interesting ways to leverage shaders:
- Adjust the fragment shader to handle more than GL_MAX_LIGHTS, pass the lights 
via uniforms. This would raise the "simultaneous" light limit per object, but 
you'll still want some sort of light culling or performance would be bad.
- Switch to a deferred shading. Gives you freedom to run thousands of lights 
with good performance, but if you don't use that many lights then forward 
rendering will perform better. Also, deferred shading has problems with 
transparent objects, and problems with material variety since the final shading 
all runs through the same fragment shader (there is a "spin-off" technique of 
deferred shading that addresses the material variety problem, I forgot what 
it's called). Sometimes you can reuse channels of the g-buffer for other 
effects like SSAO or depth of field. All this requires a careful consideration 
of your requirements before you start so deferred rendering is not something 
you would add to your engine overnight.

Cheers,
Jannik

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=65429#65429





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to