[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18158] branches/soc-2008-nicholasbishop/ source/blender/blenkernel/intern/cdderivedmesh.c: Fixed a bug caused by counting DM faces rather than faces in the original mesh .
Nicholas Bishop
nicholasbishop at gmail.com
Tue Dec 30 01:31:47 CET 2008
Revision: 18158
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18158
Author: nicholasbishop
Date: 2008-12-30 01:31:45 +0100 (Tue, 30 Dec 2008)
Log Message:
-----------
Fixed a bug caused by counting DM faces rather than faces in the original mesh.
Also removed an unused function.
Modified Paths:
--------------
branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c
Modified: branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c 2008-12-30 00:28:11 UTC (rev 18157)
+++ branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c 2008-12-30 00:31:45 UTC (rev 18158)
@@ -1196,32 +1196,6 @@
}
}
-/*static void MultiresDM_calc_norm(MultiresDM *mrdm)
-{
- float (*v)[3] = mrdm->orco;
- int i;
-
- mrdm->norm = MEM_callocN(sizeof(float)*3 * mrdm->me->totvert, "MultiresDM vertnorms");
-
- for(i = 0; i < mrdm->me->totface; ++i) {
- MFace *f = &mrdm->me->mface[i];
- float n[3];
- if(f->v4)
- CalcNormFloat4(v[f->v1], v[f->v2], v[f->v3], v[f->v4], n);
- else
- CalcNormFloat(v[f->v1], v[f->v2], v[f->v3], n);
-
- VecAddf(mrdm->norm[f->v1], mrdm->norm[f->v1], n);
- VecAddf(mrdm->norm[f->v2], mrdm->norm[f->v2], n);
- VecAddf(mrdm->norm[f->v3], mrdm->norm[f->v3], n);
- if(f->v4)
- VecAddf(mrdm->norm[f->v4], mrdm->norm[f->v4], n);
- }
-
- for(i = 0; i < mrdm->me->totvert; ++i)
- Normalize(mrdm->norm[i]);
-}*/
-
DerivedMesh *MultiresDM_new(MultiresSubsurf *ms, DerivedMesh *orig, int numVerts, int numEdges, int numFaces)
{
MultiresDM *mrdm = MEM_callocN(sizeof(MultiresDM), "MultiresDM");
@@ -1335,16 +1309,15 @@
int *MultiresDM_get_face_offsets(DerivedMesh *dm)
{
MultiresDM *mrdm = (MultiresDM*)dm;
- int i, totface, accum = 0;
+ int i, accum = 0;
if(!mrdm->face_offsets) {
int len = (int)pow(2, mrdm->lvl - 2) - 1;
int area = len * len;
int t = 1 + len * 3 + area * 3, q = t + len + area;
- totface = dm->getNumFaces(dm);
- mrdm->face_offsets = MEM_callocN(sizeof(int) * totface, "mrdm face offsets");
- for(i = 0; i < totface; ++i) {
+ mrdm->face_offsets = MEM_callocN(sizeof(int) * mrdm->me->totface, "mrdm face offsets");
+ for(i = 0; i < mrdm->me->totface; ++i) {
mrdm->face_offsets[i] = accum;
accum += (mrdm->me->mface[i].v4 ? q : t);
More information about the Bf-blender-cvs
mailing list