git-svn-id: svn://db.shs.com.ru/libs@677 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -19,6 +19,10 @@ uniform float z_near;
|
||||
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;
|
||||
|
||||
const vec3 luma = vec3(0.299, 0.587, 0.114);
|
||||
const float _pe = 2.4e-7;
|
||||
|
||||
@@ -93,7 +97,7 @@ void main(void) {
|
||||
vec4 v1 = texelFetch(tex_1, tc, 0);
|
||||
float z = v1.w;
|
||||
if (z == 1.) {
|
||||
qgl_FragColor = vec4(0);
|
||||
qgl_FragColor = vec4(fog_color.rgb, 0);
|
||||
return;
|
||||
}
|
||||
vec4 v0 = texelFetch(tex_0, tc, 0),
|
||||
@@ -124,7 +128,12 @@ void main(void) {
|
||||
si = vec3(0.);
|
||||
for (int i = 0; i < lights_count; ++i)
|
||||
calcLight(lights_start + i, normal, v);
|
||||
vec3 res_col = max(vec3(0), li * diffuse + si * specular + emission);
|
||||
|
||||
qgl_FragColor = vec4(max(vec3(0), li * diffuse + si * specular + emission), alpha);
|
||||
//qgl_FragColor. = vec3(alpha);
|
||||
float plen = length(pos.xyz);
|
||||
float fog = clamp(dot(fog_decay, vec3(1, plen, plen*plen)) * 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user