Static lightmaps: how to build them ?

Started by
4 comments, last by GameDev.net 24 years, 3 months ago
The lightmaps used by quake are grayscale textures. These are modulated (multiplied) with the colormaps applied to each polygon, with texture blending. Unlike colormaps, which are reused over and over for many polygons, there is a lightmap for each and every polygon. To save memory, these are stored at lower resolution than the colormaps (I forget exactly what).

To generate the lightmaps in the first place, I think quake uses a radiosity tool. Check out http://members.home.com/droyer/index.html for more information on radiosity.

Advertisement
Thanks. I already knew what you said, but the link was very precious to understand better the theory. However i still have a few questions.
Lightmaps are 2d squares. I understand that they should be well working on square or rectangular surfaces. But what happens with triangles or more complex surfaces like a star ? How do you calculate the lightmap then ? Or, more exactly, how do you find where in the lightmap each vertex of your surface is ?
Another question. I've seen in the quake source that each vertex has a 3d ( and not 2d, as i thought at the beginning ) texture coordinate, which is basically used to compute the coordinates in the lightmap. I didn't understand the equations nor what is the sense of 3d coords for a texture...if anybody has a clue..
Thanks,

Ysaneya

Hi !!

Check out my article about lightmaps. My article explains what they are and how to compute them. I am pretty sure that you will be able to answer all your questions yourself after you read my article.
http://www.voodoospotlight.com/devknowledge/index.html

Hope this helps.

Phillip

Phillip Schuster
Many thanks...i think i've understood the theory. My lights are going to be semi-static ( ie, static during 99% of the time..but may move/change color/intensity sometimes ), so i have to calculate the lightmaps in real time (at least, when a light changes). Hope it won't be too hard....

Y.

I know little about the theory of lightmaps. I've been playing with the source code of Quake, and seen that the static lightmaps are not calculated in the engine but with an external tool. I'm searching either the code of a such tool, or the theory (links?docs?) to calculate static lightmaps.
Thanks for any help,

Ysaneya

You're probably going to want to use a combination of static and dynamic lightmaps. There's no way you're going to be able to calculate all the lightmaps every frame. You might as well leave the other 99% alone.

Also might want to take a look into multitexure support. That way the videocard mixes the lightmaps.

-the logistical one-http://members.bellatlantic.net/~olsongt

This topic is closed to new replies.

Advertisement