aboutsummaryrefslogtreecommitdiff
path: root/servers/visual_server.h
diff options
context:
space:
mode:
authorJuan Linietsky2014-06-11 10:41:03 -0300
committerJuan Linietsky2014-06-11 10:41:03 -0300
commit9b8696d3dd92e2ed6f310ad0f0bf3c2182c9c6ae (patch)
treeb2ed0515196bb774504b54aab0bf242992ac3d9f /servers/visual_server.h
parent6f0b4678e26c04abfc88c0226c803e78a108de98 (diff)
downloadgodot-9b8696d3dd92e2ed6f310ad0f0bf3c2182c9c6ae.tar.gz
godot-9b8696d3dd92e2ed6f310ad0f0bf3c2182c9c6ae.tar.zst
godot-9b8696d3dd92e2ed6f310ad0f0bf3c2182c9c6ae.zip
Light Baker!
-=-=-=-=-=-= -Support for lightmap baker, have fun figuring out how it works before tutorial is published.
Diffstat (limited to 'servers/visual_server.h')
-rw-r--r--servers/visual_server.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/servers/visual_server.h b/servers/visual_server.h
index e5d1e7570..f01685890 100644
--- a/servers/visual_server.h
+++ b/servers/visual_server.h
@@ -576,6 +576,23 @@ public:
virtual float portal_get_connect_range(RID p_portal) const =0;
+ /* BAKED LIGHT API */
+
+ virtual RID baked_light_create()=0;
+ enum BakedLightMode {
+ BAKED_LIGHT_OCTREE,
+ BAKED_LIGHT_LIGHTMAPS
+ };
+
+ virtual void baked_light_set_mode(RID p_baked_light,BakedLightMode p_mode)=0;
+ virtual BakedLightMode baked_light_get_mode(RID p_baked_light) const=0;
+
+ virtual void baked_light_set_octree(RID p_baked_light,const DVector<uint8_t> p_octree)=0;
+ virtual DVector<uint8_t> baked_light_get_octree(RID p_baked_light) const=0;
+
+ virtual void baked_light_add_lightmap(RID p_baked_light,const RID p_texture,int p_id)=0;
+ virtual void baked_light_clear_lightmaps(RID p_baked_light)=0;
+
/* CAMERA API */
@@ -792,6 +809,7 @@ public:
INSTANCE_LIGHT,
INSTANCE_ROOM,
INSTANCE_PORTAL,
+ INSTANCE_BAKED_LIGHT,
INSTANCE_GEOMETRY_MASK=(1<<INSTANCE_MESH)|(1<<INSTANCE_MULTIMESH)|(1<<INSTANCE_IMMEDIATE)|(1<<INSTANCE_PARTICLES)
};
@@ -849,7 +867,7 @@ public:
INSTANCE_FLAG_RECEIVE_SHADOWS,
INSTANCE_FLAG_DEPH_SCALE,
INSTANCE_FLAG_VISIBLE_IN_ALL_ROOMS,
- INSTANCE_FLAG_USE_BAKED_LIGHT_VOLUME,
+ INSTANCE_FLAG_USE_BAKED_LIGHT,
INSTANCE_FLAG_MAX
};
@@ -863,6 +881,14 @@ public:
virtual float instance_geometry_get_draw_range_max(RID p_instance) const=0;
virtual float instance_geometry_get_draw_range_min(RID p_instance) const=0;
+ virtual void instance_geometry_set_baked_light(RID p_instance,RID p_baked_light)=0;
+ virtual RID instance_geometry_get_baked_light(RID p_instance) const=0;
+
+ virtual void instance_geometry_set_baked_light_texture_index(RID p_instance,int p_tex_id)=0;
+ virtual int instance_geometry_get_baked_light_texture_index(RID p_instance) const=0;
+
+ virtual void instance_light_set_enabled(RID p_instance,bool p_enabled)=0;
+ virtual bool instance_light_is_enabled(RID p_instance) const=0;
/* CANVAS (2D) */
@@ -923,6 +949,7 @@ public:
virtual void black_bars_set_margins(int p_left, int p_top, int p_right, int p_bottom)=0;
+ virtual void black_bars_set_images(RID p_left, RID p_top, RID p_right, RID p_bottom)=0;
/* FREE */