[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41949] branches/bmesh/blender/source/ blender/blenkernel/intern: Fix [#29256] Import images as planes add on doesn't work correctly in bmesh
Andrew Wiggin
ender79bl at gmail.com
Thu Nov 17 19:48:49 CET 2011
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;
More information about the Bf-blender-cvs
mailing list