From my understanding, ambient light isn't really a light, it's more like a command to brighten every entity in the scene. Ambient light doesn't carry shading abilities like the rest of the lights do, and shading is what consumes resources and therefore limits the amount available.
To answer your second question, you are limited to 8 (or 16) lights, period. I know this because when I first started programming, I tried to write a function that would generate a new light with every shot fired, and that light would travel with the bullet. With bad programming practice, the lights would neither reposition or delete themselves after created, and it created some really strange results. It's strange, though, because blitz never actually failed. Instead, all of the polygons would sparkle with their own individual shades and colors, allowing me to see every single triangle with a harsh seam between each one.
This happened about four years ago, and there very well may have been changes to blitz since then, so I'm not sure how blitz will react now.
Set up a mini program to test it if you want. I'll bet that either blitz will give you the "memory access violation", or you'll start to see the triangle seams like I did.
|