From dd102a47574d2806da52747b997e85dd7f1e5f62 Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Wed, 28 Nov 2018 15:27:11 +0100 Subject: 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. --- source/blender/collada/InstanceWriter.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'source/blender/collada') 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 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++)); } } -- cgit v1.2.3