forked from Mirrorlandia_minetest/minetest
Shaders: Fix OpenGL < 4.3 compatibility
This commit is contained in:
parent
3f675490df
commit
478e753298
@ -46,9 +46,8 @@ float smoothTriangleWave(float x)
|
|||||||
return smoothCurve(triangleWave(x)) * 2.0 - 1.0;
|
return smoothCurve(triangleWave(x)) * 2.0 - 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT || \
|
// OpenGL < 4.3 does not support continued preprocessor lines
|
||||||
MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_OPAQUE || \
|
#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_OPAQUE || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_BASIC) && ENABLE_WAVING_WATER
|
||||||
MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_BASIC) && ENABLE_WAVING_WATER
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Simple, fast noise function.
|
// Simple, fast noise function.
|
||||||
@ -115,9 +114,8 @@ float disp_z;
|
|||||||
|
|
||||||
worldPosition = (mWorld * gl_Vertex).xyz;
|
worldPosition = (mWorld * gl_Vertex).xyz;
|
||||||
|
|
||||||
#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT || \
|
// OpenGL < 4.3 does not support continued preprocessor lines
|
||||||
MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_OPAQUE || \
|
#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_OPAQUE || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_BASIC) && ENABLE_WAVING_WATER
|
||||||
MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_BASIC) && ENABLE_WAVING_WATER
|
|
||||||
// Generate waves with Perlin-type noise.
|
// Generate waves with Perlin-type noise.
|
||||||
// The constants are calibrated such that they roughly
|
// The constants are calibrated such that they roughly
|
||||||
// correspond to the old sine waves.
|
// correspond to the old sine waves.
|
||||||
@ -188,12 +186,12 @@ float disp_z;
|
|||||||
color.rgb = gl_Color.rgb * (gl_Color.a * dayLight.rgb +
|
color.rgb = gl_Color.rgb * (gl_Color.a * dayLight.rgb +
|
||||||
nightRatio * artificialLight.rgb) * 2;
|
nightRatio * artificialLight.rgb) * 2;
|
||||||
color.a = 1;
|
color.a = 1;
|
||||||
|
|
||||||
// Emphase blue a bit in darker places
|
// Emphase blue a bit in darker places
|
||||||
// See C++ implementation in mapblock_mesh.cpp final_color_blend()
|
// See C++ implementation in mapblock_mesh.cpp final_color_blend()
|
||||||
float brightness = (color.r + color.g + color.b) / 3;
|
float brightness = (color.r + color.g + color.b) / 3;
|
||||||
color.b += max(0.0, 0.021 - abs(0.2 * brightness - 0.021) +
|
color.b += max(0.0, 0.021 - abs(0.2 * brightness - 0.021) +
|
||||||
0.07 * brightness);
|
0.07 * brightness);
|
||||||
|
|
||||||
gl_FrontColor = gl_BackColor = clamp(color, 0.0, 1.0);
|
gl_FrontColor = gl_BackColor = clamp(color, 0.0, 1.0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user