Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Glow shader

Iniciado por Negor, 28 de Noviembre de 2011, 06:02:11 PM

« anterior - próximo »

Negor

Hola

Estoy trabajando en este shader pero tengo un problema al combinar el blur con la escena final.



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

Gallo

Cual es la formulita que estas utilizando para calcular el color del pixel? puedes pegarla aquí?

Negor

#2
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

XÑA

¿y porqué no sumas y ya está? Así es como yo  lo hacía, con additive.

Gallo

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.

Negor

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.




Esta imagen la e echo con un blur*5 para q se aprecie bien la diferencia con el fondo blanco y el negro.



tamat

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.
Por un stratos menos tenso

Negor

Este es todo el proceso q hago

1º la escena original


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.


3º Blur


Gracias

Negor

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.



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.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.