diff options
| author | Juan Linietsky | 2014-06-11 10:41:03 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2014-06-11 10:41:03 -0300 |
| commit | 9b8696d3dd92e2ed6f310ad0f0bf3c2182c9c6ae (patch) | |
| tree | b2ed0515196bb774504b54aab0bf242992ac3d9f /servers/visual_server.h | |
| parent | 6f0b4678e26c04abfc88c0226c803e78a108de98 (diff) | |
| download | godot-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.h | 29 |
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 */ |
