git-svn-id: svn://db.shs.com.ru/libs@678 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-11 20:44:13 +00:00
parent 11853c0fed
commit c0c7b58892
6 changed files with 61 additions and 136 deletions

View File

@@ -20,8 +20,7 @@ uniform sampler2D tex_0, tex_1, tex_2, tex_3, tex_4;
uniform int lights_start, lights_count;
uniform vec4 fog_color = vec4(0.5, 0.5, 0.5, 1);
uniform vec3 fog_decay = vec3(0, 0.1, 0); // [^0, ^1, ^2]
uniform float fog_density = 0;
uniform float fog_decay = 10, fog_density = 0;
const vec3 luma = vec3(0.299, 0.587, 0.114);
const float _pe = 2.4e-7;
@@ -131,9 +130,10 @@ void main(void) {
vec3 res_col = max(vec3(0), li * diffuse + si * specular + emission);
float plen = length(pos.xyz);
float fog = clamp(dot(fog_decay, vec3(1, plen, plen*plen)) * fog_color.a * fog_density, 0, 1);
float fog = 1 - exp(-plen / fog_decay);
fog = clamp(fog * fog_color.a * fog_density, 0, 1);
res_col = mix(res_col, fog_color.rgb, fog);
qgl_FragColor = vec4(res_col, alpha);
//qgl_FragColor.rgb = vec3(z);
//qgl_FragColor.rgb = vec3(fog);
}