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
36
37
38
39
40
41
|
#pragma once
#include <sqee/gl/UniformBuffer.hpp>
#include <sqee/gl/Textures.hpp>
#include "../Object.hpp"
#include "../Animation.hpp"
namespace sqt { namespace wcoe {
class PointLight : public Object {
public:
PointLight(const string& _name, Cell* _cell);
void load_from_spec(const ObjSpec& _spec);
void refresh(), update();
void calc(double _accum);
void animate();
bool PROP_shadow = false;
bool PROP_specular = false;
bool PROP_probes = false;
fvec3 PROP_position = {0.f, 0.f, 0.f};
fvec3 PROP_colour = {1.f, 1.f, 1.f};
float PROP_intensity = 10.f;
uint PROP_texsize = 0u;
AnimatorFVec3 ANIM_position {&PROP_position};
AnimatorFVec3 ANIM_colour {&PROP_colour};
AnimatorFloat ANIM_intensity {&PROP_intensity};
sq::UniformBuffer ubo;
sq::TextureCube tex;
array<sq::Frustum, 6> frusArr;
array<fmat4, 6> matArr;
sq::Sphere sphere;
fmat4 modelMat;
};
}}
|