Ever since discovering GZDoom, I was disappointed with its lighting. It doesn't bright up close areas, far areas looks uniform and contrastless and too dark compared to software renderer, making maps look dull. And no configuration in GZDoom can fix that (except making everything fullbright, heh). Yet OpenGL renderer is better than software renderer at everything else. I had to choose between "good lighting" and "good everything else but bad lighting". But now I don't have to!
I have modified GZDoom's OpenGL renderer to have lighting exactly like in software renderer! Big thanks to EDGE developers for actually caring about lighting and providing a ready-to-use doom lighting formula.
There's a problem with sprites lit by dynamic lights because everything is white by default so dynamic lights actually darken the sprites. For now when a simply passing fullbright light level and premultipying the color on CPU if a sprite is lit by a dynamic light seems good enough but the best solution (not implemented because of my lack of knowledge of GZDoom codebase) would be to apply EDGE's formula on CPU and then light the sprites with as usual but with new light level.
WARNING: needs good OpenGL shader support to work.
Official page with screenshots and downloads:
http://submarine.homeunix7.org/doku.php ... _in_opengl
Zandronum Source code
(linux binaries coming soon, they are not made by me but by Monsterovich)
GZDoom downloads (obsolete, it is added to GZDoom 1.7.0 ):
GZDoom Source code
There are two extra unrelated features accessible through Options -> Display Options -> OpenGL Options -> Preferences:
Smooth lines on automap (not available in Zandronum) - eables some kind of ugly OpenGL line smoothing made in 5 minutes.
Foggy sectors are fullbright - meant to make foggy maps look better. In software renderer fog density is light level and all sectors just have black fog by default. If fog is colored, the foggy sector seems fullbright. This option is supposed to make some foggy maps (for example: Darkmere from Hexen) look good like in software renderer without cranking up ambient light level to 255. Warning: semi-black fog looks really bad with this option so turn it on based on what you're playing.
Also, I have fixed the bug with lines on textured automap being drawn one pixel off compared to textured polygons. Guess I should have reported it .
Version list (using totally internal and unrelated versioning scheme):
- Fixed liteamp not affecting sprites.
- Lighting was not bright enough, fixed that, now light bands in blocky mode match the ones in software renderer .
- Fixed weapons not getting brighter when firing.
- Fixed objects becoming pitch-black when the camera is too close.