From 8635bb43078dec951da63e3a4442f6a2f70ac686 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 1 Jan 2024 11:36:26 +0000 Subject: Simplify and 'fix' the wave cycle --- gfx/gl/sceneShader.cpp | 3 +-- gfx/gl/shaders/water.fs | 1 - gfx/gl/shaders/water.vs | 6 +++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/gfx/gl/sceneShader.cpp b/gfx/gl/sceneShader.cpp index 57c8bb7..ccc1a1d 100644 --- a/gfx/gl/sceneShader.cpp +++ b/gfx/gl/sceneShader.cpp @@ -85,8 +85,7 @@ void SceneShader::WaterProgram::use(float waveCycle) const { Program::use(); - Position3D waves {waveCycle, 0.F, 0.F}; - glUniform3fv(waveLoc, 1, glm::value_ptr(waves)); + glUniform1f(waveLoc, waveCycle); } SceneShader::PointLightShader::PointLightShader() : diff --git a/gfx/gl/shaders/water.fs b/gfx/gl/shaders/water.fs index a0daa17..8891733 100644 --- a/gfx/gl/shaders/water.fs +++ b/gfx/gl/shaders/water.fs @@ -5,7 +5,6 @@ include(`materialInterface.glsl') include(`materialOut.glsl') uniform sampler2D texture0; -uniform vec3 waves; void main() diff --git a/gfx/gl/shaders/water.vs b/gfx/gl/shaders/water.vs index f609d9e..f6c7c8f 100644 --- a/gfx/gl/shaders/water.vs +++ b/gfx/gl/shaders/water.vs @@ -5,13 +5,13 @@ include(`materialInterface.glsl') uniform mat4 viewProjection; uniform ivec3 viewPoint; -uniform vec3 waves; +uniform float waves; void main() { - vec3 wpos = vec3(position.x + (cos(waves.x) * 1000.0), position.y + (cos(waves.x * waves.y / 2) * 1000.0), - cos(waves.x + (position.x / 1000.0) + (position.y * 125.0)) * 300.0); + vec3 wpos = vec3(position.x + (cos(waves) * 1000.0), position.y + (cos(waves * 0 / 2) * 1000.0), + cos(waves + (position.x / 1000000.0) + (position.y / 8000.0)) * 300.0); FragPos = vec3(wpos.xy, position.z); TexCoords = texCoord; -- cgit v1.2.3