Skip to content

Commit 7ced041

Browse files
authored
Don't apply sky fog if fog mode is uniform and density is 0. (#1538)
1 parent 3fd2d58 commit 7ced041

File tree

1 file changed

+12
-10
lines changed
  • chunky/src/java/se/llbit/chunky/renderer/scene

1 file changed

+12
-10
lines changed

chunky/src/java/se/llbit/chunky/renderer/scene/Fog.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,19 @@ private static double clampDy(double dy) {
5959

6060
public void addSkyFog(Ray ray, Vector4 scatterLight) {
6161
if (mode == FogMode.UNIFORM) {
62-
double fog;
63-
if (ray.d.y > 0) {
64-
fog = 1 - ray.d.y;
65-
fog *= fog;
66-
} else {
67-
fog = 1;
62+
if (uniformDensity > 0.0) {
63+
double fog;
64+
if (ray.d.y > 0) {
65+
fog = 1 - ray.d.y;
66+
fog *= fog;
67+
} else {
68+
fog = 1;
69+
}
70+
fog *= skyFogDensity;
71+
ray.color.x = (1 - fog) * ray.color.x + fog * fogColor.x;
72+
ray.color.y = (1 - fog) * ray.color.y + fog * fogColor.y;
73+
ray.color.z = (1 - fog) * ray.color.z + fog * fogColor.z;
6874
}
69-
fog *= skyFogDensity;
70-
ray.color.x = (1 - fog) * ray.color.x + fog * fogColor.x;
71-
ray.color.y = (1 - fog) * ray.color.y + fog * fogColor.y;
72-
ray.color.z = (1 - fog) * ray.color.z + fog * fogColor.z;
7375
} else if (mode == FogMode.LAYERED) {
7476
double dy = ray.d.y;
7577
double y1 = ray.o.y;

0 commit comments

Comments
 (0)