diff options
Diffstat (limited to 'themes/src/summer')
| -rw-r--r-- | themes/src/summer/summer_theme.cpp (renamed from themes/src/summer/SummerTheme.cpp) | 12 | ||||
| -rw-r--r-- | themes/src/summer/summer_theme.h (renamed from themes/src/summer/SummerTheme.h) | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/themes/src/summer/SummerTheme.cpp b/themes/src/summer/summer_theme.cpp index 1f76b56..6d2cfec 100644 --- a/themes/src/summer/SummerTheme.cpp +++ b/themes/src/summer/summer_theme.cpp @@ -1,5 +1,5 @@ -#include "SummerTheme.h" -#include "../Renderer2d.h" +#include "summer_theme.h" +#include "../renderer_2d.h" #include "../list.h" #include "../mathlib.h" #include "../shaders/sun_frag.h" @@ -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/SummerTheme.h b/themes/src/summer/summer_theme.h index 2ce6b7f..eb404fd 100644 --- a/themes/src/summer/SummerTheme.h +++ b/themes/src/summer/summer_theme.h @@ -1,6 +1,6 @@ #pragma once #include "../types.h" -#include "../Renderer2d.h" +#include "../renderer_2d.h" #include "../theme.h" #include <vector> @@ -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); |
