diff --git a/source/blender/yafray/intern/export_File.cpp b/source/blender/yafray/intern/export_File.cpp index 9ac6d1b1e90..49811c5a336 100755 --- a/source/blender/yafray/intern/export_File.cpp +++ b/source/blender/yafray/intern/export_File.cpp @@ -985,9 +985,10 @@ void yafrayFileRender_t::writeObject(Object* obj, const vector &VLR_li ostr << "\t\n"; xmlfile << ostr.str(); - // if any face in the Blender mesh uses an orco texture, every face has orco coords, - // so only need to check the first facevtx.orco in the list if they need to be exported - bool EXPORT_ORCO = (face0->v1->orco!=NULL); + // Export orco coords test. + // Previously was done by checking orco pointer, however this can be non-null but still not initialized. + // Test the rendermaterial texco flag instead. + bool EXPORT_ORCO = ((face0mat->ren->texco & TEXCO_ORCO)!=0); string has_orco = "off"; if (EXPORT_ORCO) has_orco = "on"; diff --git a/source/blender/yafray/intern/export_Plugin.cpp b/source/blender/yafray/intern/export_Plugin.cpp index a46f30b4be1..9a511cc5d7c 100644 --- a/source/blender/yafray/intern/export_Plugin.cpp +++ b/source/blender/yafray/intern/export_Plugin.cpp @@ -1123,7 +1123,12 @@ void yafrayPluginRender_t::writeObject(Object* obj, const vector &VLR_ tr = face0mat->ray_mirror; caus_rcolor.set(face0mat->mirr*tr, face0mat->mirg*tr, face0mat->mirb*tr); } - bool has_orco = (face0->v1->orco!=NULL); + + // Export orco coords test. + // Previously was done by checking orco pointer, however this can be non-null but still not initialized. + // Test the rendermaterial texco flag instead. + bool has_orco = ((face0mat->ren->texco & TEXCO_ORCO)!=0); + bool no_auto = true; //in case non-mesh, or mesh has no autosmooth float sm_angle = 0.1f; if (obj->type==OB_MESH)