I would probably like to see GlowColor being a multiplier for GlowMap in default shader. Something like
[java]
void main(){
#ifdef HAS_GLOWMAP
#ifdef HAS_GLOWCOLOR
vec4 color = m_GlowColor;
#else
vec4 color = vec4(1.0);
#endif
#if defined(NEED_TEXCOORD1)
gl_FragColor = texture2D(m_GlowMap, texCoord1)*color;
#else
gl_FragColor = texture2D(m_GlowMap, texCoord)*color;
#endif
#else
#ifdef HAS_GLOWCOLOR
gl_FragColor = m_GlowColor;
#else
gl_FragColor = vec4(0.0);
#endif
#endif
}
[/java]
This way, you could for example have spaceship glow highlights changing color without manipulating glow texture (which would be just grayscale).