From: SmallJoker Date: Sun, 16 Feb 2020 13:08:48 +0000 (+0100) Subject: Shaders: Fix OpenGL < 4.3 compatibility X-Git-Tag: 5.2.0~111 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=478e7532985320c5ddacc0280f77b67956715a65;p=oweals%2Fminetest.git Shaders: Fix OpenGL < 4.3 compatibility --- diff --git a/client/shaders/nodes_shader/opengl_vertex.glsl b/client/shaders/nodes_shader/opengl_vertex.glsl index f56aaefaa..ccff1260d 100644 --- a/client/shaders/nodes_shader/opengl_vertex.glsl +++ b/client/shaders/nodes_shader/opengl_vertex.glsl @@ -46,9 +46,8 @@ float smoothTriangleWave(float x) return smoothCurve(triangleWave(x)) * 2.0 - 1.0; } -#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 +// OpenGL < 4.3 does not support continued preprocessor lines +#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 // // Simple, fast noise function. @@ -115,9 +114,8 @@ float disp_z; worldPosition = (mWorld * gl_Vertex).xyz; -#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 +// OpenGL < 4.3 does not support continued preprocessor lines +#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 // Generate waves with Perlin-type noise. // The constants are calibrated such that they roughly // correspond to the old sine waves. @@ -188,12 +186,12 @@ float disp_z; color.rgb = gl_Color.rgb * (gl_Color.a * dayLight.rgb + nightRatio * artificialLight.rgb) * 2; color.a = 1; - + // Emphase blue a bit in darker places // See C++ implementation in mapblock_mesh.cpp final_color_blend() float brightness = (color.r + color.g + color.b) / 3; color.b += max(0.0, 0.021 - abs(0.2 * brightness - 0.021) + 0.07 * brightness); - + gl_FrontColor = gl_BackColor = clamp(color, 0.0, 1.0); }