diff options
Diffstat (limited to 'servers/visual')
-rw-r--r-- | servers/visual/rasterizer.h | 2 | ||||
-rw-r--r-- | servers/visual/visual_server_raster.cpp | 9 | ||||
-rw-r--r-- | servers/visual/visual_server_raster.h | 2 | ||||
-rw-r--r-- | servers/visual/visual_server_wrap_mt.h | 2 |
4 files changed, 15 insertions, 0 deletions
diff --git a/servers/visual/rasterizer.h b/servers/visual/rasterizer.h index 50336e07f4..0b115a4d1d 100644 --- a/servers/visual/rasterizer.h +++ b/servers/visual/rasterizer.h @@ -592,6 +592,7 @@ public: RID shadow_buffer; int shadow_buffer_size; float shadow_esm_mult; + Color shadow_color; void *texture_cache; // implementation dependent @@ -610,6 +611,7 @@ public: CanvasLight() { enabled=true; color=Color(1,1,1); + shadow_color=Color(0,0,0,0); height=0; z_min=-1024; z_max=1024; diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp index 3fc90fd46d..b51f59050d 100644 --- a/servers/visual/visual_server_raster.cpp +++ b/servers/visual/visual_server_raster.cpp @@ -4071,6 +4071,15 @@ void VisualServerRaster::canvas_light_set_shadow_esm_multiplier(RID p_light, flo } +void VisualServerRaster::canvas_light_set_shadow_color(RID p_light, const Color& p_color) { + + Rasterizer::CanvasLight *clight = canvas_light_owner.get(p_light); + ERR_FAIL_COND(!clight); + clight->shadow_color=p_color; + +} + + /****** CANVAS LIGHT OCCLUDER ******/ RID VisualServerRaster::canvas_light_occluder_create() { diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index e2940c216b..73298d58cd 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -1180,6 +1180,8 @@ public: virtual void canvas_light_set_shadow_enabled(RID p_light, bool p_enabled); virtual void canvas_light_set_shadow_buffer_size(RID p_light, int p_size); virtual void canvas_light_set_shadow_esm_multiplier(RID p_light, float p_multiplier); + virtual void canvas_light_set_shadow_color(RID p_light, const Color& p_color); + virtual RID canvas_light_occluder_create(); diff --git a/servers/visual/visual_server_wrap_mt.h b/servers/visual/visual_server_wrap_mt.h index 6719342a6a..db03d82829 100644 --- a/servers/visual/visual_server_wrap_mt.h +++ b/servers/visual/visual_server_wrap_mt.h @@ -626,6 +626,8 @@ public: FUNC2(canvas_light_set_shadow_enabled,RID,bool); FUNC2(canvas_light_set_shadow_buffer_size,RID,int); FUNC2(canvas_light_set_shadow_esm_multiplier,RID,float); + FUNC2(canvas_light_set_shadow_color,RID,const Color&); + /* CANVAS OCCLUDER */ |