summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--servers/rendering_server.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp
index 48b6632364..60e8f18c19 100644
--- a/servers/rendering_server.cpp
+++ b/servers/rendering_server.cpp
@@ -1226,6 +1226,10 @@ Error RenderingServer::mesh_create_surface_data_from_arrays(SurfaceData *r_surfa
bsformat |= (1 << j);
}
}
+ if (bsformat & RS::ARRAY_FORMAT_NORMAL) {
+ // We must use tangents if using normals.
+ bsformat |= RS::ARRAY_FORMAT_TANGENT;
+ }
ERR_FAIL_COND_V_MSG(bsformat != (format & RS::ARRAY_FORMAT_BLEND_SHAPE_MASK), ERR_INVALID_PARAMETER, "Blend shape format must match the main array format for Vertex, Normal and Tangent arrays.");
}