Very subtle changes today. Today, I flipped the switch and Tycoon is now rendering entirely using OpenGL shaders, instead of the fixed function pipeline.. My games have always used OpenGL shaders for the glowing “bloom” effect typically used on vector lines. However, until today they rendered everything other than the “bloom” using OpenGL’s standard functions. (those standard functions still work, if someone runs MMORPG Tycoon 2 on a computer which doesn’t support the new shaders, or runs them too slowly.)
Right now, the difference from shaders is rather small; mostly to do with lighting and specular highlights on objects. OpenGL’s fixed function pipeline calculates lighting on each vertex of a model, and then “smears” that lighting data around between the vertices. The new shaders I’ve written perform all of the lighting calculations per-pixel, which gives much nicer, much smoother lighting effects and shiny spots on smooth objects.
But now that I’ve flipped the switch, I’m thinking about perhaps doing other things in the shaders as well. Grass movement, perhaps. More intricate ground clutter. There are lots and lots of options, really. But I’m going to try to restrain myself from going overboard on these sorts of graphical touches for a little while longer, yet.