Fix depth draw alpha prepass for shadow

This commit is contained in:
Hiroshi Ogawa 2017-10-19 14:28:44 +09:00
parent f52ab8d864
commit e7a370e170

View File

@ -2430,7 +2430,9 @@ void RasterizerStorageGLES3::_update_material(Material *material) {
if (material->shader && material->shader->mode == VS::SHADER_SPATIAL) {
if (!material->shader->spatial.uses_alpha && material->shader->spatial.blend_mode == Shader::Spatial::BLEND_MODE_MIX) {
Shader::Spatial spatial = material->shader->spatial;
if (spatial.blend_mode == Shader::Spatial::BLEND_MODE_MIX &&
(!spatial.uses_alpha || (spatial.uses_alpha && spatial.depth_draw_mode == Shader::Spatial::DEPTH_DRAW_ALPHA_PREPASS))) {
can_cast_shadow = true;
}