Commit: dd102a47574d2806da52747b997e85dd7f1e5f62
Author: Gaia Clary
Date: Wed Nov 28 15:27:11 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBdd102a47574d2806da52747b997e85dd7f1e5f62
fix:T58093 Collada Exporter does not create bind_vertex_input and texcoord
attribute
The Collada exporter used MTFACE layers (deprecated) instead of
CD_MLOOPUV layers. In 2.8 the exporter could no longer find the UVMaps
reliably.
===================================================================
M source/blender/collada/InstanceWriter.cpp
===================================================================
diff --git a/source/blender/collada/InstanceWriter.cpp
b/source/blender/collada/InstanceWriter.cpp
index 68842596550..0c0b1a15653 100644
--- a/source/blender/collada/InstanceWriter.cpp
+++ b/source/blender/collada/InstanceWriter.cpp
@@ -57,13 +57,14 @@ void
InstanceWriter::add_material_bindings(COLLADASW::BindMaterial& bind_materia
// create <bind_vertex_input> for each uv map
Mesh *me = (Mesh *)ob->data;
- int totlayer = CustomData_number_of_layers(&me->fdata,
CD_MTFACE);
+
+ int num_layers =
CustomData_number_of_layers(&me->ldata, CD_MLOOPUV);
int map_index = 0;
- int active_uv_index =
CustomData_get_active_layer_index(&me->fdata, CD_MTFACE) -1;
- for (int b = 0; b < totlayer; b++) {
+ int active_uv_index =
CustomData_get_active_layer_index(&me->ldata, CD_MLOOPUV);
+ for (int b = 0; b < num_layers; b++) {
if (!active_uv_only || b == active_uv_index) {
- char *name =
bc_CustomData_get_layer_name(&me->fdata, CD_MTFACE, b);
+ char *name =
bc_CustomData_get_layer_name(&me->ldata, CD_MLOOPUV, b);
im.push_back(COLLADASW::BindVertexInput(name, "TEXCOORD", map_index++));
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs