<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the category: Engine.</i>
I was investigating the problem with shiny multitexturing not working on the Mac. The reason was that the OpenGL extension GL_NV_texture_env_combine4, which apparently is the only one that draws the shiny multitextured surfaces correctly, is not supported by the GeForce 6600 drivers. This causes drOpenGL to use the ATI specific extension, GL_ATI_texture_env_combine3, which evidently does not work.
I think it's past time to update the renderer with fragment shaders. Because the rendering architecture is what it is, we can't really make Doomsday itself aware of the shaders, but we can replace the current DGL_MODULATE_TEXTURE modes in drOpenGL with shaders that can be specified in .ded files. This has two huge benefits: 1) compatibility across different graphics cards should be vastly improved, and 2) we can easily use more than 2 texture units.
After this is working, there is only a rather small effort needed for having custom shaders specified in, say, 3D model definitions.
Also, how about some nice looking water...?