Revision: 41949
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41949
Author:   ender79
Date:     2011-11-17 18:48:49 +0000 (Thu, 17 Nov 2011)
Log Message:
-----------
Fix [#29256] Import images as planes add on doesn't work correctly in bmesh

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c       
2011-11-17 18:41:37 UTC (rev 41948)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c       
2011-11-17 18:48:49 UTC (rev 41949)
@@ -1454,6 +1454,12 @@
        }
 #endif /* WITH_GAMEENGINE */
 
+       /* Re-tesselation is necessary to push render data (uvs, textures, 
colors)
+          from loops and polys onto the tessfaces. This may be currently be 
redundant
+          in cases where the render mode doesn't use these inputs, but ideally
+          eventually tesselation would happen on-demand, and this is one of 
the primary
+          places it would be needed. */
+       finaldm->recalcTesselation(finaldm);
        finaldm->calcNormals(finaldm);
 
        *final_r = finaldm;

Modified: 
branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c     
2011-11-17 18:41:37 UTC (rev 41948)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c     
2011-11-17 18:48:49 UTC (rev 41949)
@@ -1644,8 +1644,7 @@
        dm->getTessFaceDataArray = DM_get_tessface_data_layer;
 
        dm->calcNormals = CDDM_calc_normals;
-       //doesn't work yet for all cases
-       //dm->recalcTesselation = CDDM_recalc_tesselation;
+       dm->recalcTesselation = CDDM_recalc_tesselation;
 
        dm->getVertCos = cdDM_getVertCos;
        dm->getVertCo = cdDM_getVertCo;

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c       
2011-11-17 18:41:37 UTC (rev 41948)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c       
2011-11-17 18:48:49 UTC (rev 41949)
@@ -2758,6 +2758,11 @@
        return ccgdm->pbvh;
 }
 
+static void ccgDM_recalcTesselection(DerivedMesh *UNUSED(dm))
+{
+       /* Nothing to do: CCG handles creating its own tessfaces */
+}
+
 static void ccgDM_calcNormals(DerivedMesh *UNUSED(dm))
 {
        /* Nothing to do: CCG calculates normals during drawing */
@@ -2853,6 +2858,7 @@
        ccgdm->dm.getTessFaceData = DM_get_face_data;
 
        ccgdm->dm.calcNormals = ccgDM_calcNormals;
+       ccgdm->dm.recalcTesselation = ccgDM_recalcTesselection;
 
        ccgdm->dm.getVertCos = cgdm_getVertCos;
        ccgdm->dm.foreachMappedVert = cgdm_foreachMappedVert;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to