Nonuniform Scaled Lights

Published August 20, 2007
Advertisement
August 13, 2007

Today I'm going to talk a little about something that isn't very common in realtime graphics. Most lights used in games are computed mathematically on hardware or in vertex/pixel shaders. The TrueLight rendering engine offers a more flexible way to calculate light attenuation. Rather than using a mathematical function to calculate the falloff, TrueLights allow you to use an attenuation texture. For example it could be a sphere, a box, a bunch of dots, or even a happy face. You get the idea. Additionally most lights are uniformly scaled, meaning the attenuation falls in a spherical shape.

The ability to scale lights nonuniformly gives the level designer more power to create unique lighting effects that haven't been possible in older game engines. For example say you have a long fluorescent light. In older engines you might have made several point lights along the light in order to make a line. We no longer have to resort to such hacks. The x,y or z axis of a light can be scaled down until the light is a strip instead of a sphere.

Take another example. Say we have a rectangular pool of water and we want to have a cool blue light coming up near the surface. We can squash a blue light so it fits the pool exactly, and only emits light for a foot above the surface.

I've created a video of this in action inside the PR7 editor.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement