I know it's a lot to ask, but would it be possible to add a third shader, using the blue channel on our maps, that controls specularity, with some sort've color controls?
Why am I asking about this?
Well, I've been working on some stuff for my new project that needs to look pretty realistic. I've been running into problems, when I get to the persnickety perfectionist point- that thin line between professional-grade stuff and just not-quite-right.
One of the major areas is how models react to light in the game engine. Currently, my choices are either to have models be 100% dull, or 100% shiny. There's no in-between.
While true reflectivity is completely controllable, it's well-nigh impossible to depict things with a flat albedo but a lot've specularity- things like flat armored surfaces, for example, that reflect a lot of light, but aren't reflective in the conventional sense of the word (yes, yes, physics majors- they're reflective, but the reflections are very diffuse and fuzzy due to the dull paint).
Not only that, but with specularity control, we could do pretty decent fake bumpmaps. Short of true normal maps (drool) this might be a good, and pretty fast solution.
There's only one catch- I'd like color control. It's very odd and unrealistic to have colors return as white, which is what happens with the reflec shader, when what I should get is a brighter shade of the source color with the sunlight averaged in. The color control needs to be arbitrary, though, because some objects return colors that aren't the base color when they're lit, due to a wide variety of factors, many of which aren't worth trying to do in real-time code (stuff like skin shaders, etc., which would be massive overkill in Spring). But it'd be nice to have a car, for example, which has a base RGB map that is purple with brighter areas to represent paint flecks, which is 25% world-reflective and has highlights that are purple-white, not true white, just as an example... or a wooden ship where the highlights are a golden brown, instead of a plastic white.