blob: e048a7a9a191ecad812f1dae0d135a8d39b0bca1 (
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
32
33
34
35
|
#pragma once
#include "../types.h"
#include "../renderer_2d.h"
#include "../theme.h"
#include "sky_model.h"
#include "water_model.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;
SkyModel sky;
WaterModel water{ Vector3(0.f, 0.f, -150.f), Vector3(600.f, 0.6f, 400.f) };
void load(WebglContext*);
void update(f32 dtSeconds);
void render();
void unload();
private:
Renderer2d renderer;
};
|