From 0c8d2efce0e5849b2ccd1f34ccf652aa2e0e65c9 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Wed, 29 Apr 2026 16:35:27 -0400 Subject: [PATCH] Expose water ripple as a uniform to allow for water ripple shaders --- src/hardware/r_opengl/r_opengl.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 35aea7d9c..7bab48963 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -656,6 +656,8 @@ typedef enum gluniform_scr_resolution, + gluniform_water_ripple, + gluniform_max, } gluniform_t; @@ -1943,6 +1945,8 @@ static void Shader_SetUniforms(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAF UNIFORM_2(shader->uniforms[gluniform_scr_resolution], (GLfloat)vid.width, (GLfloat)vid.height, pglUniform2f); + UNIFORM_1(shader->uniforms[gluniform_water_ripple], !!(Surface && (Surface->PolyFlags & PF_Ripple)), pglUniform1f); + #undef UNIFORM_1 #undef UNIFORM_2 #undef UNIFORM_3 @@ -2079,6 +2083,8 @@ static boolean Shader_CompileProgram(gl_shader_t *shader, GLint i) // misc. (custom shaders) shader->uniforms[gluniform_leveltime] = GETUNI("leveltime"); + shader->uniforms[gluniform_water_ripple] = GETUNI("water_ripple"); + #undef GETUNI // set permanent uniform values