Specular maps are pretty easy to add in. I'm at work ATM, so I haven't tested this... but I think this is all you need to do to add a spec/gloss layer to the parallax mapping shader:
In the deferred version (ATTRIBPASS) and forward version (LIGHTING)
Change this:vec3 albedo = texture2D( tex0, texCoords.st ).rgb;
To this:vec4 colours = texture2D( tex0, texCoords.st ).rgba;
vec3 albedo = colours.rgb;
In the deferred version only (ATTRIBPASS)
Change this:setSpecMask( 0.3 );
To this:setSpecMask( colours.a );
In the forward version only (LIGHTING)
Change this:gl_FragColor.rgb = calcPhongSpotLight( newPos, normalize( normal ), albedo, 0.3, 16.0, -vsPos.z, 0.3 );
To this:gl_FragColor.rgb = calcPhongSpotLight( newPos, normalize( normal ), albedo, colours.a, 16.0, -vsPos.z, 0.3 );
Now you just need to edit your main texture in a tool like Photoshop or Paint.NET that supports alpha channels, and the alpha represents how matt or gloss the pixel is. White = glossy, black = matt.
Attachment:
gloss_map_result.jpg [ 108.44 KiB | Viewed 21268 times ]
If you're interested in the theory behind real-time glow/bloom, check out this article:
http://www.gamasutra.com/features/20040 ... es_pfv.htmI've implemented the technique from this article in Half-Life before, and I'll be sure to let you know if I get it working in Horde. Don't hold your breath for me though