Added extra controls to GeometryInstances to control how they should cast shadows: double-sided and shadows only.

Conflicts:
	servers/visual/visual_server_raster.h
This commit is contained in:
Saracen
2016-03-07 23:00:55 +00:00
parent 20308c0475
commit 7fecebd8a8
11 changed files with 129 additions and 24 deletions

View File

@ -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;