Geforce 3 and Lighting

From the demo clip of Geforce 3 and id softwares new gaming engine, John Carmack said that we will no longer need any hacks to implement lightings in engines anymore. Does that mean we will no longer need lightmaps to simulate lighting and simply use OpenGL lights to do all the lightiig in the engine. And if thats the case how can 8 lights be used to implement all the lighting in a map. Are the lights reused (repositioned) before drawing every new object…?

I think what he meant was that for shadowing techniques, we are now able to use one method for the whole scene at acceptable speeds. So instead of having to use shadow volumes in one place, static shadow maps in another, and dynamic shadow maps in yet another, we will be able to use shadow maps for the whole scene.

The GeForce3 supports 2 extensions, SGIX_depth_texture and SGIX_shadows, that can be used to do shadowing relatively easily. By having a shadow map associated with each light, shadows can be cast by anything, onto anything.

With previous graphics cards, this technique wasn’t very practical due to texture resolution problems and a lack of fill rate.


The GeForce 3 can have up to 64 dynamic per a pixel lights.

Where did you hear that?

I’d like to see the document you got it from.

64 per pixel lights is a LOT.


It wasn’t an official document so obviously it could be wrong. I thought 64 was alot but i am sure that some professional graphics cards can have 64 lights so it might be possible for a GeForce3 with such a fast TnL engine and fast memory.

64 vertex lights I can understand, but 64 per-pixel lights?

On a GeForce2, doing a perpixel light imitation would take at least 1 texture unit for a directional light, and 2 for a point light.

Even with texture shaders and all the extra extensions, 64 per-pixel lights sounds a bit over the top to me.


hehehe actually, I don’t think you’ve seen the screenie of the Geforce3 board itself. It has a HUGE @$$ heatsink over it, and it is so big that I personally think that it would be better to put a liquid cooler in place of it. It covers the entire GPU and all the memory, and will probably end up having 800+ fans on there to cool it! :stuck_out_tongue:

pATChes11, you mean that to over clock it we will have to install a liquid cooler, or Co2 cooler instead of placing hundreds of oversized 5 inch fans all over the card front and back …

The chip might be big, but that doesn’t say anything about how fast it can do per-pixel lighting, does it?

I think if you are going to do serious overclocking with any chip, you might as well use liquid cooling.


What exactly is light mapping? And how come when I use UnrealEd I can place a lot more than 8 lights in my map? I know that Unreal isn’t using OpenGL but the fact that some cards can only support a maximum of 8 lights should still apply. I’m confused

Light mapping is a technique where lighting is put into a texture map that is blended in with the usual texture. Because of this, any number of static lights can be put into one lightmap, so the restrictions on the number of lights do not apply.


So most games use this technique vs. the 8 lights? Is this the hack/trick that Carmack was talking about? And also, where can I find documentation on how to do light mapping? Is it built into OpenGL? Thanks.

Most games in the past have used this technique, especially FPS games, including the entire Quake series.

It’s not built into OpenGL. To do lightmapping, you need to calculate the lighting for each texel in your lightmap texture, and then apply the lightmap over your models using multitexturing or a second pass over the geometry.

j has a tutorial on lightmapping.