Fog

FOG Effect

  • 02 Oct

La niebla en un motor 3D es generalmente una forma de desvanecer un objeto a un color especĂ­fico segĂșn la distancia a la cual se encuentre de la camara.

En este modelo de luz , podemos ver un desvanecimiento de los objetos, que el efecto de niebla se va acercando, o dependiendo la vista de la camara mientras esta va cubriendo la vista cercana, y desvanece de la vista todos los objetos. Para el caso de esta implementacion, se puede alterar la densidad de la niebla tanto en forma lejana como en forma cercana, pero no las 2 simultaneamente, adicionalmente se permite agregar mas objetos, para tener una mejor percepcion de este efecto de desvanecimiento.

La implementacion se basa en el documento de WebGL, e implementando shaders.

Estos son los comans usados en el shader para calcular la densidad de la niebla y el color de esta.

float fogAmount = smoothstep(u_fogNear, u_fogFar, v_fogDepth);
gl_FragColor = mix(color, u_fogColor, fogAmount);

Comando Operacion
Interaccion con los sliders

Illumination

Combination light

specular, diffuse, ambient