|
@@ -2435,22 +2435,10 @@ void RasterizerStorageGLES2::mesh_add_surface(RID p_mesh, uint32_t p_format, VS:
|
|
if (surface->blend_shape_data.size()) {
|
|
if (surface->blend_shape_data.size()) {
|
|
ERR_PRINT_ONCE("Blend shapes are not supported in OpenGL ES 2.0");
|
|
ERR_PRINT_ONCE("Blend shapes are not supported in OpenGL ES 2.0");
|
|
}
|
|
}
|
|
- surface->data = array;
|
|
|
|
- surface->index_data = p_index_array;
|
|
|
|
-#else
|
|
|
|
- // Even on non-tools builds, a copy of the surface->data is needed in certain circumstances.
|
|
|
|
- // Rigged meshes using the USE_SKELETON_SOFTWARE path need to read bone data
|
|
|
|
- // from surface->data.
|
|
|
|
-
|
|
|
|
- // if USE_SKELETON_SOFTWARE is active
|
|
|
|
- if (config.use_skeleton_software) {
|
|
|
|
- // if this geometry is used specifically for skinning
|
|
|
|
- if (p_format & (VS::ARRAY_FORMAT_BONES | VS::ARRAY_FORMAT_WEIGHTS))
|
|
|
|
- surface->data = array;
|
|
|
|
- }
|
|
|
|
- // An alternative is to always make a copy of surface->data.
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+ surface->data = array;
|
|
|
|
+ surface->index_data = p_index_array;
|
|
surface->total_data_size += surface->array_byte_size + surface->index_array_byte_size;
|
|
surface->total_data_size += surface->array_byte_size + surface->index_array_byte_size;
|
|
|
|
|
|
for (int i = 0; i < surface->skeleton_bone_used.size(); i++) {
|
|
for (int i = 0; i < surface->skeleton_bone_used.size(); i++) {
|