Revision: 21603
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21603
Author: kazanbas
Date: 2009-07-15 21:13:47 +0200 (Wed, 15 Jul 2009)
Log Message:
-----------
Previous commit didn't fix the material issue, trying again.
Modified Paths:
--------------
branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp
Modified:
branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp
===================================================================
--- branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp
2009-07-15 18:59:49 UTC (rev 21602)
+++ branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp
2009-07-15 19:13:47 UTC (rev 21603)
@@ -271,7 +271,9 @@
// XXX slow
if (ob->totcol) {
for(int a = 0; a < ob->totcol; a++) {
- createPolylist(true, a, has_uvs, ob, dm,
geom_name);
+ // account for NULL materials, this should not
normally happen?
+ Material *ma = give_current_material(ob, a + 1);
+ createPolylist(ma != NULL, a, has_uvs, ob, dm,
geom_name);
}
}
else {
@@ -598,21 +600,22 @@
COLLADASW::BindMaterial& bm =
instGeom.getBindMaterial();
COLLADASW::InstanceMaterialList& iml =
bm.getInstanceMaterialList();
- std::string matid(id_name(ma));
- COLLADASW::InstanceMaterial im(matid,
COLLADASW::URI
-
(COLLADABU::Utils::EMPTY_STRING,
-
matid));
+
+ if (ma) {
+ std::string matid(id_name(ma));
+ COLLADASW::InstanceMaterial im(matid,
COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, matid));
- // create <bind_vertex_input> for each uv layer
- Mesh *me = (Mesh*)ob->data;
- int totlayer =
CustomData_number_of_layers(&me->fdata, CD_MTFACE);
+ // create <bind_vertex_input> for each
uv layer
+ Mesh *me = (Mesh*)ob->data;
+ int totlayer =
CustomData_number_of_layers(&me->fdata, CD_MTFACE);
- for (int b = 0; b < totlayer; b++) {
- char *name =
CustomData_get_layer_name(&me->fdata, CD_MTFACE, b);
-
im.push_back(COLLADASW::BindVertexInput(name, "TEXCOORD", b));
+ for (int b = 0; b < totlayer; b++) {
+ char *name =
CustomData_get_layer_name(&me->fdata, CD_MTFACE, b);
+
im.push_back(COLLADASW::BindVertexInput(name, "TEXCOORD", b));
+ }
+
+ iml.push_back(im);
}
-
- iml.push_back(im);
}
instGeom.add();
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs