fix semi-transparent (water) rendering

This commit is contained in:
2022-01-29 22:29:27 +08:00
parent fea09c5012
commit 444697b205
11 changed files with 212 additions and 132 deletions

View File

@@ -60,13 +60,14 @@ void lightSun() {
vec3 viewDir = normalize(viewPos - fragPos.xyz);
vec3 reflectDir = reflect(-lightDir, fragNormal);
float specular = specularStrength * pow(max(dot(viewDir, reflectDir), 0.0), specularShininess);
if (specular > 1.0f) {
finalpha = min(finalpha + specular - 1.0f, 1.0f);
}
float shadow = lightSunShadow();
light += diffuse * shadow;
color += vec4(vec3(specular), 0.0f) * shadow;
if (specular*shadow > 1.0f) {
finalpha = min(finalpha + specular - 1.0f, 1.0f);
}
finalpha = min(finalpha + 0.1f * shadow, 1.0f);
}