fix uninitialized shader variable

This commit is contained in:
2022-02-21 14:01:09 +08:00
parent 4a9afb4246
commit 203b77c32f
4 changed files with 19 additions and 15 deletions

View File

@@ -26,7 +26,7 @@ const float fogDensity = .00003;
float finalpha;
float light;
vec4 texpixel, color;
vec3 color = vec3(0);
void lightSun();
float lightSunShadow();
void lightPoint(int i);
@@ -41,14 +41,12 @@ void main() {
lightSun();
color += vec4(fragColor.rgb * light, 0.0f);
color.a = fragColor.a;
color.rgb = color.rgb;
color += fragColor.rgb * light;
float z = gl_FragCoord.z / gl_FragCoord.w;
float fog = clamp(exp(-fogDensity * z * z), 0.2, 1);
//float z = gl_FragCoord.z / gl_FragCoord.w;
//float fog = clamp(exp(-fogDensity * z * z), 0.2, 1);
outputColor = mix(fogColor, color, fog) * finalpha;
outputColor = vec4(color, 1) * finalpha;
}
void lightSun() {
@@ -63,7 +61,7 @@ void lightSun() {
float shadow = lightSunShadow();
light += diffuse * shadow;
color += vec4(vec3(specular), 0.0f) * shadow;
color += vec3(specular) * shadow;
if (specular*shadow > 1.0f) {
finalpha = min(finalpha + specular - 1.0f, 1.0f);