uniform sampler2D tex;
void main()
{
float FogDensity = 10.;
vec4 FogColor = vec4(0.4,0.2,0.2,1.0);
vec4 CurrentColor = texture2D(tex, gl_TexCoord[0].xy);
// distance to target
float FogDistance = distance(vec2(0.49,0.46),gl_TexCoord[0].xy);
// fog factor
float FogFactor = exp(-abs(FogDistance * FogDensity));
// linear blend between fog color and pixel color
gl_FragColor = mix(FogColor,CurrentColor,FogFactor);
}
Image
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzARkjTldPz1jEemAhVvJaMZ4ZemzmSPeWglf34qjr77RaL1tggAE0lR_Y0TkLMVN-s1cL6-SMRdvzeiUsWPHLFybJg2VlZiqArot13kDPaeawjFUchjikNSanjXdqbPp0cn5Ly8HoNew/s400/clock_prague.jpg)
and after fog shader applied:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLFrV2Uzcik0HE80kv5EngebDu5-vXF9S823WuR9nxfhO6NQZIHDJE25IfZk05WU5x-cynm9dFTG0ThkfosxYfWqsKP1pTbiyssJy-E1UIAfMi2E4GenupQw9NmZ-nc_xK1cTY8jHIZgg/s400/clock_prague_fog.jpg)
No comments:
Post a Comment
Comment will be posted after comment moderation.
Thank you for your appreciation.