i think luminosity mapping basically works like that:
Code:
pixelShader=
asm
{
ps.1.3
def c0,1,1,1,1
tex t0 // sample shadow map
tex t1 // sample color map
tex t2 // sample luminosity map (luminosity is defined in the alpha channel)
modulate2x r1,t0,t1 // modulate colormap with shadowmap
lrp r0.rgb,t2.a,r1,t1 // interpolate between shaded color map and unshaded color map depending on luminosity map
+mov r0.a,c0.a
};
(not tested)
a6 only supports 16 bit level textures so the luminosity map needs to be a separate texture. without this restriction the luminosity channel could be included in the color map.
if i have some time i will give this a try and look if the same is possible without a shader.