Specularity is just a reflection of light, but no real reflection, it is some fake. So you see a light spot on your surface, wandering in realtime angled to the light source. The size of this light spot can be controlled by the glossiness value. The brightness / strength of this value can be controlled by a spec value. For realistic materials it is better to use a texture to control the specularity. High reflective parts like ice or metal are brighter, almost white and surfaces with low or no reflection are darker (textiles, wood).

Color is not really needed. Black and white can encode the strength of light reflection. If you need to simulate a red light, that reflects on your surface, then it is better to just change the spec light as one RGB value in the shader or as a parameter of this shader. With this in mind the alpha-channel indeed can store the spec map, while another parameter can control the spec color and yet another for the glossiness.

And actually this is how all these engines work when you look into their material editors. You see slots for diffuse and normal. Sometimes you have to add a spec map, sometimes it has to be stored in the alpha channel of the diffuse map. And then there is a slider for glossiness and a color-dialog for the spec color.

And when you want to simulate it really realistic, then you can change the spec color during the game, fitting to the next light color. Maybe even a little transition zone has to be built. But often this makes only a minor difference so most materials just use white spec color.


Models, Textures and Games from Dexsoft