summaryrefslogtreecommitdiff
path: root/servers/visual_server.h
diff options
context:
space:
mode:
authorSaracen <SaracenOne@gmail.com>2016-03-07 23:00:55 +0000
committerSaracen <SaracenOne@gmail.com>2016-03-07 23:14:14 +0000
commit7fecebd8a8dc12e59c8fd430b9e3dc0069fd48d1 (patch)
tree668b6cc2cc7787711d3384f2308684bf5fc68e44 /servers/visual_server.h
parent20308c0475acb4678c9b86c7a4f210c1ec7548dc (diff)
Added extra controls to GeometryInstances to control how they should cast shadows: double-sided and shadows only.
Conflicts: servers/visual/visual_server_raster.h
Diffstat (limited to 'servers/visual_server.h')
-rw-r--r--servers/visual_server.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/servers/visual_server.h b/servers/visual_server.h
index 4841720f41..bf689bd0a6 100644
--- a/servers/visual_server.h
+++ b/servers/visual_server.h
@@ -937,9 +937,19 @@ public:
INSTANCE_FLAG_MAX
};
+ enum ShadowCastingSetting {
+ SHADOW_CASTING_SETTING_OFF,
+ SHADOW_CASTING_SETTING_ON,
+ SHADOW_CASTING_SETTING_DOUBLE_SIDED,
+ SHADOW_CASTING_SETTING_SHADOWS_ONLY,
+ };
+
virtual void instance_geometry_set_flag(RID p_instance,InstanceFlags p_flags,bool p_enabled)=0;
virtual bool instance_geometry_get_flag(RID p_instance,InstanceFlags p_flags) const=0;
+ virtual void instance_geometry_set_cast_shadows_setting(RID p_instance, ShadowCastingSetting p_shadow_casting_setting) = 0;
+ virtual ShadowCastingSetting instance_geometry_get_cast_shadows_setting(RID p_instance) const = 0;
+
virtual void instance_geometry_set_material_override(RID p_instance, RID p_material)=0;
virtual RID instance_geometry_get_material_override(RID p_instance) const=0;