Hi Mitchell/Daniel, Is this a patch to fix the bug of 'floating eyes' on Momo? Because I just tested here (Alex fixed build for gcc in swiss, thanks ;) and the problem is still there.
Let me know if you need the Momo sample file I'm using. Thanks, Dalai 2012/8/3 Mitchell Stokes <[email protected]> > Revision: 49546 > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49546 > Author: moguri > Date: 2012-08-03 23:45:47 +0000 (Fri, 03 Aug 2012) > Log Message: > ----------- > Patch from Daniel Stokes to fix bugs when using VBOs and a mesh gets split > across different material buckets. > > Modified Paths: > -------------- > > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_BucketManager.cpp > > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp > > Modified: > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_BucketManager.cpp > =================================================================== > --- > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_BucketManager.cpp > 2012-08-03 23:44:50 UTC (rev 49545) > +++ > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_BucketManager.cpp > 2012-08-03 23:45:47 UTC (rev 49546) > @@ -233,8 +233,26 @@ > rasty->ClearCachingInfo(); > > RenderSolidBuckets(cameratrans, rasty, rendertools); > - RenderAlphaBuckets(cameratrans, rasty, rendertools); > + RenderAlphaBuckets(cameratrans, rasty, rendertools); > > + /* All meshes should be up to date now */ > + /* Don't do this while processing buckets because some meshes are > split between buckets */ > + BucketList::iterator bit; > + list<RAS_MeshSlot>::iterator mit; > + for (bit = m_SolidBuckets.begin(); bit != m_SolidBuckets.end(); > ++bit) { > + RAS_MaterialBucket* bucket = *bit; > + for (mit = (*bit)->msBegin(); mit != (*bit)->msEnd(); > ++mit) { > + mit->m_mesh->SetMeshModified(false); > + } > + } > + for (bit = m_AlphaBuckets.begin(); bit != m_AlphaBuckets.end(); > ++bit) { > + RAS_MaterialBucket* bucket = *bit; > + for (mit = (*bit)->msBegin(); mit != (*bit)->msEnd(); > ++mit) { > + mit->m_mesh->SetMeshModified(false); > + } > + } > + > + > rendertools->SetClientObject(rasty, NULL); > } > > > Modified: > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp > =================================================================== > --- > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp > 2012-08-03 23:44:50 UTC (rev 49545) > +++ > branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp > 2012-08-03 23:45:47 UTC (rev 49546) > @@ -651,9 +651,6 @@ > else > rasty->IndexPrimitives(ms); > > - > - ms.m_mesh->SetMeshModified(false); > - > rendertools->PopMatrix(); > } > > > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
