Hola
Estoy trabajando en este shader pero tengo un problema al combinar el blur con la escena final.
(http://img17.imageshack.us/img17/710/glowsj.th.png) (http://imageshack.us/photo/my-images/17/glowsj.png/)
Este es el resultado final donde e marcado con circulos rojos se puede ver como el glow es menos intenso cuando tiene un color negro de fondo, e probado con varias formas de combinarlo pero todas tienen el mismo problema, lo q quiero es q el glow sea igual de intenso independientemente de lo q alla al fondo.
Saludos
Cual es la formulita que estas utilizando para calcular el color del pixel? puedes pegarla aquí?
E probado muchas maneras distintas pero con todas tengo el mismo problema.
float CalcLuminance(float4 color)
{
return max(dot(color, float3(0.299f, 0.587f, 0.114f)), 0.0001f);
}
float4 frag(VOut I) : COLOR0
{
float4 blur = tex2D(BlurTex, I.uv);
float4 c = tex2D(SceneTex, I.uv);
c *=baseIntensityA * CalcLuminance(c*baseIntensityB);
c *= (1 - saturate(blur));
return c+blur;
}
Tambien e probado sumando solo c+blur y nada.
Edit: baseIntensityA y baseIntensityB son solo floats para controlar el color
¿y porqué no sumas y ya está? Así es como yo lo hacía, con additive.
claro, esque si multiplicas por negro.... es negro si o si, lo que tienes es que multiplicar por su alpha el blur y 1- alpha la escena y sumarlos o simplemente sumarlos a ver como queda.
Es lo primero q hice simplemente sumar y tenia el mismo problema por eso me puse a probar otras formas y es raro por q si un pixel en este caso verde de 0.2 se suma a un color negro el resultado deberia ser 0.2 asi q no se q pasa.
(http://img838.imageshack.us/img838/3571/78110852.th.png) (http://imageshack.us/photo/my-images/838/78110852.png/)
Esta imagen la e echo con un blur*5 para q se aprecie bien la diferencia con el fondo blanco y el negro.
(http://img811.imageshack.us/img811/6786/92946146.th.png) (http://imageshack.us/photo/my-images/811/92946146.png/)
puedes mostrar tambien la textura de blur a secas? tal vez tu blur no está funcionando bien, por otra parte tienes un radio muy bajo.
Este es todo el proceso q hago
1º la escena original
(http://img716.imageshack.us/img716/1068/53270148.th.png) (http://imageshack.us/photo/my-images/716/53270148.png/)
2º la escena solo con los glowmap, lo e dividido en 2 imagenes pero se hacen en el mismo shader para q no alla confusiones.
(http://img853.imageshack.us/img853/3336/79408524.th.png) (http://imageshack.us/photo/my-images/853/79408524.png/)(http://img819.imageshack.us/img819/3447/15058029.th.png) (http://imageshack.us/photo/my-images/819/15058029.png/)
3º Blur
(http://img196.imageshack.us/img196/1823/85326152.th.png) (http://imageshack.us/photo/my-images/196/85326152.png/)
Gracias
Bueno e cambiado totalmente el shader del blur, aunque no me gusta por q lo e copiado me gusta hacer las cosas por mi mismo, pero el caso es q a mejorado bastante la imagen final.
(http://img822.imageshack.us/img822/6339/59864917.th.png) (http://imageshack.us/photo/my-images/822/59864917.png/)
Tambien e cambiado la forma de combinarlo.
return c+blur*(1-CalcLuminance(blur)+1);
Asi las zonas de blur oscuras se hacen un poco mas luminosas y las muy brillantes algo mas oscuras.
Aun se ve algo mas de blur con el fondo blanco pero supongo q ya esta algo mas aproximado a como debe ser.