baked_light_instance.h
1 #ifndef BAKED_LIGHT_INSTANCE_H
2 #define BAKED_LIGHT_INSTANCE_H
3 
4 #include "scene/3d/visual_instance.h"
5 #include "scene/resources/baked_light.h"
6 
7 class BakedLightBaker;
8 
9 
12 
13  Ref<BakedLight> baked_light;
14 
15 
16 protected:
17 
18  static void _bind_methods();
19 public:
20 
21 
22  RID get_baked_light_instance() const;
23 
24  void set_baked_light(const Ref<BakedLight>& baked_light);
25  Ref<BakedLight> get_baked_light() const;
26 
27  virtual AABB get_aabb() const;
28  virtual DVector<Face3> get_faces(uint32_t p_usage_flags) const;
29 
31 };
32 
33 
34 
37 
38 
39 public:
40 
41  enum Param {
42  PARAM_RADIUS=VS::BAKED_LIGHT_SAMPLER_RADIUS,
43  PARAM_STRENGTH=VS::BAKED_LIGHT_SAMPLER_STRENGTH,
44  PARAM_ATTENUATION=VS::BAKED_LIGHT_SAMPLER_ATTENUATION,
45  PARAM_DETAIL_RATIO=VS::BAKED_LIGHT_SAMPLER_DETAIL_RATIO,
46  PARAM_MAX=VS::BAKED_LIGHT_SAMPLER_MAX
47  };
48 
49 
50 
51 protected:
52 
53  RID base;
54  float params[PARAM_MAX];
55  int resolution;
56  static void _bind_methods();
57 public:
58 
59  virtual AABB get_aabb() const;
60  virtual DVector<Face3> get_faces(uint32_t p_usage_flags) const;
61 
62  void set_param(Param p_param,float p_value);
63  float get_param(Param p_param) const;
64 
65  void set_resolution(int p_resolution);
66  int get_resolution() const;
67 
70 };
71 
72 VARIANT_ENUM_CAST( BakedLightSampler::Param );
73 
74 
75 #endif // BAKED_LIGHT_H
Definition: baked_light_instance.h:10
Definition: aabb.h:43
Definition: rid.h:47
Definition: baked_light_instance.h:35
Definition: visual_instance.h:39