From fbc5d7dd1a9192c29daccdf12a7a067037ff2c2a Mon Sep 17 00:00:00 2001 From: Matt Kosarek Date: Mon, 29 Dec 2025 10:02:38 -0500 Subject: Improve the sun shader with the help of AI --- themes/src/summer/summer_theme.cpp | 8 ++++++-- themes/src/summer/summer_theme.h | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'themes/src/summer') diff --git a/themes/src/summer/summer_theme.cpp b/themes/src/summer/summer_theme.cpp index 6935ad1..6d2cfec 100644 --- a/themes/src/summer/summer_theme.cpp +++ b/themes/src/summer/summer_theme.cpp @@ -59,19 +59,23 @@ void Sun::load(Renderer2d* renderer) { indices.add(second); indices.add(third); } - + mesh.load(&vertices.data[0], vertices.numElements, &indices.data[0], indices.numElements, renderer); mesh.model = Mat4x4().translateByVec2(Vector2(renderer->context->width / 2.f, renderer->context->height / 2.f)); + + timeUniform = getShaderUniform(renderer->shader, "time"); + vertices.deallocate(); indices.deallocate(); } void Sun::update(f32 dtSeconds) { - + elapsedTime += dtSeconds; } void Sun::render(Renderer2d* renderer) { setShaderMat4(renderer->uniforms.model, mesh.model); + glUniform1f(timeUniform, elapsedTime); glBindVertexArray(mesh.vao); glDrawElements(GL_TRIANGLES, mesh.numIndices, GL_UNSIGNED_INT, 0); glBindVertexArray(0); diff --git a/themes/src/summer/summer_theme.h b/themes/src/summer/summer_theme.h index cd25ff5..eb404fd 100644 --- a/themes/src/summer/summer_theme.h +++ b/themes/src/summer/summer_theme.h @@ -8,6 +8,8 @@ struct Sun { f32 radius = 20.f; i32 sectors = 180; Mesh2D mesh; + f32 elapsedTime = 0.f; + i32 timeUniform = -1; void load(Renderer2d* renderer); void update(f32 dtSeconds); -- cgit v1.2.1