summaryrefslogtreecommitdiff
path: root/themes/src/summer/summer_theme.h
blob: eb404fdf66fcbcdcc2c6b35291ca4ab69ee39054 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once
#include "../types.h"
#include "../renderer_2d.h"
#include "../theme.h"
#include <vector>

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);
	void render(Renderer2d* renderer);
	void unload();
};

class SummerTheme : public Theme {
public:
    SummerTheme(WebglContext*);
    ~SummerTheme();
	Sun sun;
	void load(WebglContext*);
	void update(f32 dtSeconds);
	void render();
	void unload();
private:
    Renderer2d renderer;
};