diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2024-01-01 11:36:26 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2024-01-01 11:36:26 +0000 |
commit | 8635bb43078dec951da63e3a4442f6a2f70ac686 (patch) | |
tree | 59f39dbbfae61623279137671a9d31c8f419018d | |
parent | Templatise functions in maths.h using PositionND (diff) | |
download | ilt-8635bb43078dec951da63e3a4442f6a2f70ac686.tar.bz2 ilt-8635bb43078dec951da63e3a4442f6a2f70ac686.tar.xz ilt-8635bb43078dec951da63e3a4442f6a2f70ac686.zip |
Simplify and 'fix' the wave cycle
-rw-r--r-- | gfx/gl/sceneShader.cpp | 3 | ||||
-rw-r--r-- | gfx/gl/shaders/water.fs | 1 | ||||
-rw-r--r-- | 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; |