If my memory serves me correctly, it was actually a programmer named Billy Zelsnack who had done this first. He was already independently working on his own full-3D engine at the time when Quake was still under development, for his own project called Sabotage. Quake originally was not going to contain any dynamic surface lighting because it was slow as Carmack had originally implemented it, until Mr. Zelsnack contributed his lighting algorithms to the team at id Software. I still have a crude demo somewhere on one of my CDRs of Zelsnack's partially-completed engine from when he had implemented the dynamic lighting; you would fly around a crude reconstruction of Doom 2 MAP07 and, going up to any surface, hit the space bar to add a light, and you would see the changes on the nearby walls.
However, considering Sabotage was cancelled and Quake made it to the stores, I won't change the article. I also probably have a couple of details wrong. I'm sure someone else out there remembers the full story. --I am not good at running 23:43, 7 May 2005 (UTC)
- The surface cache doesn't help with dynamic lights: in fact a dynamic light will invalidate the cache every frame of any surface it touches. What the cache does is merge the high-resolution repeating texture with the low-resolution unique lightmap, to generate an high-resolution pre-lit surface which can be used directly when rendering.
- In theory it's possible to modify the lightmap as you describe (for example sum some values to make it permanently brighter), but Quake didn't really do that, there's not much you can get out of that. Maybe it was able to switch lightmaps for fading or strobing effects, I don't remember. In any case, changing the lightmap invalidates the cache. If it changed too much, it'd be useless. —Preceding unsigned comment added by 220.127.116.11 (talk) 08:46, 22 April 2010 (UTC)