Przeglądaj źródła

Oops, fixed wrong color masking problem. Closes #10149

Juan Linietsky 8 lat temu
rodzic
commit
3a4ff3402d

+ 1 - 1
drivers/gles3/rasterizer_storage_gles3.cpp

@@ -2143,7 +2143,7 @@ _FORCE_INLINE_ static void _fill_std140_variant_ubo_value(ShaderLanguage::DataTy
 
 				gui[0] = v.normal.x;
 				gui[1] = v.normal.y;
-				gui[2] = v.normal.x;
+				gui[2] = v.normal.z;
 				gui[3] = v.d;
 			}
 		} break;

+ 2 - 1
scene/resources/material.cpp

@@ -1384,7 +1384,7 @@ static Plane _get_texture_mask(SpatialMaterial::TextureChannel p_channel) {
 }
 
 void SpatialMaterial::set_metallic_texture_channel(TextureChannel p_channel) {
-
+	ERR_FAIL_INDEX(p_channel, 5);
 	metallic_texture_channel = p_channel;
 	VS::get_singleton()->material_set_param(_get_material(), shader_names->metallic_texture_channel, _get_texture_mask(p_channel));
 }
@@ -1395,6 +1395,7 @@ SpatialMaterial::TextureChannel SpatialMaterial::get_metallic_texture_channel()
 
 void SpatialMaterial::set_roughness_texture_channel(TextureChannel p_channel) {
 
+	ERR_FAIL_INDEX(p_channel, 5);
 	roughness_texture_channel = p_channel;
 	VS::get_singleton()->material_set_param(_get_material(), shader_names->roughness_texture_channel, _get_texture_mask(p_channel));
 }