Fix T47451: Blender internal not rendering meshes with zero vertices in the original mesh.

This commit is contained in:
Brecht Van Lommel
2016-02-18 05:29:05 +01:00
parent 0136046335
commit 411deae9b0

View File

@@ -3131,9 +3131,6 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset)
copy_m3_m4(imat, ob->imat); copy_m3_m4(imat, ob->imat);
negative_scale= is_negative_m4(mat); negative_scale= is_negative_m4(mat);
if (me->totvert==0)
return;
need_orco= 0; need_orco= 0;
for (a=1; a<=ob->totcol; a++) { for (a=1; a<=ob->totcol; a++) {
ma= give_render_material(re, ob, a); ma= give_render_material(re, ob, a);
@@ -3194,6 +3191,14 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset)
dm= mesh_create_derived_render(re->scene, ob, mask); dm= mesh_create_derived_render(re->scene, ob, mask);
if (dm==NULL) return; /* in case duplicated object fails? */ if (dm==NULL) return; /* in case duplicated object fails? */
mvert= dm->getVertArray(dm);
totvert= dm->getNumVerts(dm);
if (totvert == 0) {
dm->release(dm);
return;
}
if (mask & CD_MASK_ORCO) { if (mask & CD_MASK_ORCO) {
orco = get_object_orco(re, ob); orco = get_object_orco(re, ob);
if (!orco) { if (!orco) {
@@ -3205,9 +3210,6 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset)
} }
} }
mvert= dm->getVertArray(dm);
totvert= dm->getNumVerts(dm);
/* attempt to autsmooth on original mesh, only without subsurf */ /* attempt to autsmooth on original mesh, only without subsurf */
if (do_autosmooth && me->totvert==totvert && me->totface==dm->getNumTessFaces(dm)) if (do_autosmooth && me->totvert==totvert && me->totface==dm->getNumTessFaces(dm))
use_original_normals= true; use_original_normals= true;