I decided that if I'm actually going to be the one to implement this feature, I want to do it right, rather than just the proof-of-concept I posted before, so this is a new, vastly improved version.
Now the city lights only show up where it's actually nighttime, and are prettier to boot. Also, I've implemented bump-mapping and specularity-mapping and texture-blending as well. This means that the 3D geoscape now has topographic rendering with lightsource-dependent shadows, and sunlight reflects off the water. It also means that the visuals now correctly represent seasonal changes with smooth, seamless changes over the course of the year.
These new rendering features are all handled by a GSLS shader program, but the older rendering methods all still work the way they always did (ie. there's no change to the way that nation overlays and the like appear). There is also a new option in the "options->game" menu that lets you switch between the new globe renderer and the old one (though you need to restart the program after switching the option before it will take effect).
This is particularly important because the new version has higher requirements than the old one. If your graphics card doesn't have the features required, it will automatically fall back on the old rendering system, but I think that any reasonably modern graphics card should work (if anyone has issues, please let me know). It also requires more system memory, especially if you use the high-res textures.
Speaking of textures, I've been using higher resolution images for the globe surface, which look much crisper and prettier when you zoom all the way in. The disadvantage is that they are, well, bigger. This means that they take longer to load into memory, and they take up more memory once loaded. It takes several extra seconds on my system to bring up the geoscape, with an additional ~3 second pause near the beginning of a new month while it loads the texture for that month.
That said, I can't upload the high res images here because they're ~25Mb a piece, and there are 12 of them. I have therefore uploaded lower resolution versions so people can actually see the system working, but I really think the high-res versions are prettier; I just don't know what the best way to distribute them is.
The current season system consists of one texture image per month; the images I'm using come from NASA's Blue Marble project (as did the images I started with when making the bump map, city lights, and gloss textures, though those required some modification). The system blends two textures, one associated with the beginning of the month, and the other associated with the end of the month (ie. the beginning of the following month). The two textures are combined according to how far through the month it is, so things change slowly and smoothly. If you want to see it in action, I recommend modifying the campaign.ufo to set the "minimum happiness" to something negative; otherwise, you'll generally loose after just a few months if you don't do anything but watch the globe spin, and you really need to speed things up to the fastest speed and watch for a few months to get the full effect
I've attached a diff relative to the current svn, along with a zipfile that contains the new images needed (extremely low-res versions only, I'm afraid, since the forum only accepts up to 1Mb of attachments; if someone wants to give me svn access so I can upload the high-res versions, my sourceforge username is "arisian"...
).
Please let me know what you think, or any issues you might have, especially if you experience anything that looks "wrong;" I've only been able to test this on my own system. It looks very pretty for me, but I'm not 100% confident that it will look the same on other brands of graphics cards (my current one is an nvidia geforce 9800gt).