Skip to content

Commit dccab43

Browse files
Adjust fog calculation parameters in GLSL shaders
Removed division of fogStart by 0.65 and changed the mix factor from 0.825 to 0.75 in total_fog_value for improved fog behavior. These changes affect fog.glsl in sodium versions 1.21.6, 1.21.9, and 1.21.11.
1 parent 4f6de7a commit dccab43

3 files changed

Lines changed: 3 additions & 6 deletions

File tree

  • sodium-1.21.11/assets/sodium/shaders/include
  • sodium-1.21.6/assets/sodium/shaders/include
  • sodium-1.21.9/assets/sodium/shaders/include

sodium-1.21.11/assets/sodium/shaders/include/fog.glsl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ const int FOG_SHAPE_CYLINDRICAL = 1;
33

44
float linear_fog_value(float vertexDistance, float fogStart, float fogEnd) {
55
fogEnd *= (30.5/30); // Adjust for better visual match to original beta fog
6-
fogStart /= 0.65;
76
if (vertexDistance <= fogStart) {
87
return 0.0;
98
} else if (vertexDistance >= fogEnd) {
@@ -15,7 +14,7 @@ float linear_fog_value(float vertexDistance, float fogStart, float fogEnd) {
1514

1615
// beta like behavior fog
1716
float total_fog_value(float sphericalVertexDistance, float cylindricalVertexDistance, float environmentalStart, float environmantalEnd, float renderDistanceStart, float renderDistanceEnd) {
18-
return mix(linear_fog_value(sphericalVertexDistance, environmentalStart, environmantalEnd), linear_fog_value(cylindricalVertexDistance, clamp(mix(renderDistanceStart, environmentalStart, 0.825), 0, 2048), renderDistanceEnd),
17+
return mix(linear_fog_value(sphericalVertexDistance, environmentalStart, environmantalEnd), linear_fog_value(cylindricalVertexDistance, clamp(mix(renderDistanceStart, environmentalStart, 0.75), 0, 2048), renderDistanceEnd),
1918
clamp((floor(abs(environmantalEnd / 16) - 6)) + 1, 0, 1));
2019
}
2120

sodium-1.21.6/assets/sodium/shaders/include/fog.glsl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ const int FOG_SHAPE_CYLINDRICAL = 1;
33

44
float linear_fog_value(float vertexDistance, float fogStart, float fogEnd) {
55
fogEnd *= (30.5/30); // Adjust for better visual match to original beta fog
6-
fogStart /= 0.65;
76
if (vertexDistance <= fogStart) {
87
return 0.0;
98
} else if (vertexDistance >= fogEnd) {
@@ -15,7 +14,7 @@ float linear_fog_value(float vertexDistance, float fogStart, float fogEnd) {
1514

1615
// beta like behavior fog
1716
float total_fog_value(float sphericalVertexDistance, float cylindricalVertexDistance, float environmentalStart, float environmantalEnd, float renderDistanceStart, float renderDistanceEnd) {
18-
return mix(linear_fog_value(sphericalVertexDistance, environmentalStart, environmantalEnd), linear_fog_value(cylindricalVertexDistance, clamp(mix(renderDistanceStart, environmentalStart, 0.825), 0, 2048), renderDistanceEnd),
17+
return mix(linear_fog_value(sphericalVertexDistance, environmentalStart, environmantalEnd), linear_fog_value(cylindricalVertexDistance, clamp(mix(renderDistanceStart, environmentalStart, 0.75), 0, 2048), renderDistanceEnd),
1918
clamp((floor(abs(environmantalEnd / 16) - 6)) + 1, 0, 1));
2019
}
2120

sodium-1.21.9/assets/sodium/shaders/include/fog.glsl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ const int FOG_SHAPE_CYLINDRICAL = 1;
33

44
float linear_fog_value(float vertexDistance, float fogStart, float fogEnd) {
55
fogEnd *= (30.5/30); // Adjust for better visual match to original beta fog
6-
fogStart /= 0.65;
76
if (vertexDistance <= fogStart) {
87
return 0.0;
98
} else if (vertexDistance >= fogEnd) {
@@ -15,7 +14,7 @@ float linear_fog_value(float vertexDistance, float fogStart, float fogEnd) {
1514

1615
// beta like behavior fog
1716
float total_fog_value(float sphericalVertexDistance, float cylindricalVertexDistance, float environmentalStart, float environmantalEnd, float renderDistanceStart, float renderDistanceEnd) {
18-
return mix(linear_fog_value(sphericalVertexDistance, environmentalStart, environmantalEnd), linear_fog_value(cylindricalVertexDistance, clamp(mix(renderDistanceStart, environmentalStart, 0.825), 0, 2048), renderDistanceEnd),
17+
return mix(linear_fog_value(sphericalVertexDistance, environmentalStart, environmantalEnd), linear_fog_value(cylindricalVertexDistance, clamp(mix(renderDistanceStart, environmentalStart, 0.75), 0, 2048), renderDistanceEnd),
1918
clamp((floor(abs(environmantalEnd / 16) - 6)) + 1, 0, 1));
2019
}
2120

0 commit comments

Comments
 (0)