summaryrefslogtreecommitdiff
path: root/themes/src/summer/SummerTheme.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'themes/src/summer/SummerTheme.cpp')
-rw-r--r--themes/src/summer/SummerTheme.cpp82
1 files changed, 0 insertions, 82 deletions
diff --git a/themes/src/summer/SummerTheme.cpp b/themes/src/summer/SummerTheme.cpp
deleted file mode 100644
index 1f76b56..0000000
--- a/themes/src/summer/SummerTheme.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "SummerTheme.h"
-#include "../Renderer2d.h"
-#include "../list.h"
-#include "../mathlib.h"
-#include "../shaders/sun_frag.h"
-#include "../shaders/sun_vert.h"
-#include <vector>
-
-SummerTheme::SummerTheme(WebglContext* context)
-{
- renderer.load(context);
- load(context);
-}
-
-SummerTheme::~SummerTheme()
-{
- unload();
-}
-
-void SummerTheme::load(WebglContext* context) {
- renderer.load(context, shader_sun_vert, shader_sun_frag);
- renderer.clearColor = Vector4(0, 181, 286, 255.f).toNormalizedColor();
- sun.sectors = 180;
- sun.radius = renderer.context->width / 4.f;
- sun.load(&renderer);
-}
-
-void SummerTheme::update(f32 dtSeconds) {
- sun.update(dtSeconds);
-}
-
-void SummerTheme::render() {
- renderer.render();
- sun.render(&renderer);
-}
-
-void SummerTheme::unload() {
- sun.unload();
-}
-
-void Sun::load(Renderer2d* renderer) {
- matte::List<Vertex2D> vertices;
- matte::List<u32> indices;
- Vector4 sunColor = Vector4(249, 215, 28, 255).toNormalizedColor();
- vertices.add({ Vector2(0, 0), sunColor, Mat4x4() });
-
- f32 radiansPerSector = (2.f * PI) / sectors;
- for (i32 i = 0; i <= sectors; i++) {
- f32 radians = radiansPerSector * i;
- f32 cosAngle = cosf(radians);
- f32 sinAngle = sinf(radians);
- Vector2 vertex = Vector2(radius * cosAngle, radius * sinAngle);
- vertices.add({ vertex, sunColor, Mat4x4() });
-
- u32 first = i;
- u32 second = 0;
- u32 third = i + 1;
- indices.add(first);
- 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));
- vertices.deallocate();
- indices.deallocate();
-}
-
-void Sun::update(f32 dtSeconds) {
-
-}
-
-void Sun::render(Renderer2d* renderer) {
- setShaderMat4(renderer->uniforms.model, mesh.model);
- glBindVertexArray(mesh.vao);
- glDrawElements(GL_TRIANGLES, mesh.numIndices, GL_UNSIGNED_INT, 0);
- glBindVertexArray(0);
-}
-
-void Sun::unload() {
- mesh.unload();
-}