View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Static lightmaps: how to build them ?

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

5 replies to this topic

### #1Anonymous Poster_Anonymous Poster_*  Guests

Posted 29 December 1999 - 04:37 PM

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

### #2Alastair  Members

Posted 27 December 1999 - 01:32 PM

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.

### #3Anonymous Poster_Anonymous Poster_*  Guests

Posted 27 December 1999 - 02:17 PM

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

### #4Phillip Schuster  Members

Posted 28 December 1999 - 10:35 AM

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

### #5Anonymous Poster_Anonymous Poster_*  Guests

Posted 29 December 1999 - 02:39 PM

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.

### #6logistix  Members

Posted 29 December 1999 - 04:37 PM

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.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.