
On Thu, Dec 11, 2008 at 4:43 PM, Peter Verswyvelen
I'm think 8 is the minimum number of lights hardware must support to be OpenGL compiant, but hardware can support more. Most games use some kind of "light virtualization technique", were any number of lights are allowed but only the closest lights are used for doing the shading.
Thanks for the input Peter (& Conal).
I'm not sure if the maximum number of lights applies when using custom GPU shaders...
I looked into this. An example shader application [1] used normal glLight*
commands to set up the lighting. This tutorial [2] shows that shaders have
access the light information via. the gl_LightSource array and have the
option to use it or not. I can imagine someone defining unlimited light
parameters with uniform variables in glsl if they really wanted to.
[1] http://cs.anu.edu.au/Student/comp4610/2007/labs/gpu.html
[2] http://www.clockworkcoders.com/oglsl/tutorial5.htm
David
On Thu, Dec 11, 2008 at 10:14 PM, Conal Elliott
In TBAG, ActiveVRML/DirectAnimation, and Fran, I embedded lights into geometry, which allows them to be spatially transformed. Looking in Graphics.FieldTrip.Geometry3, you'll see a comment placeholder for lights.
OpenGL is a temporary implementation convenience, so I wouldn't design the API around it. If more lights get added to a geometry than the current implementation can handle, we can document the limitation and drop some of them at run-time.
- Conal
On Thu, Dec 11, 2008 at 12:52 PM, David Sankel
wrote: Hello All,
I'm working on adding lighting to the FieldTrip library (ticket http://trac.haskell.org/FieldTrip/ticket/16). I have some initial data types here:
I'm thinking that the GContext will keep track of which of the 8 opengl lights are used and enable them if they are.
I was wondering what ideas folks have had with lighting. Some issues that are on my mind:
- OpenGL limits the number of lights to 8. - It would be nice, for a spotlight primitive, to allow the light's position and a point it is pointing toward to go through different transformations. This would allow a fixed light to follow an object, for example. I don't know yet how to provide this functionality.
Thanks,
David
_______________________________________________ FieldTrip mailing list FieldTrip@haskell.org http://www.haskell.org/mailman/listinfo/fieldtrip
_______________________________________________ FieldTrip mailing list FieldTrip@haskell.org http://www.haskell.org/mailman/listinfo/fieldtrip