[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49546] branches/soc-2012-swiss_cheese/ source/gameengine/Rasterizer: Patch from Daniel Stokes to fix bugs when using VBOs and a mesh gets split across different material buckets .

Dalai Felinto dfelinto at gmail.com
Tue Aug 7 19:50:30 CEST 2012


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 <mogurijin at gmail.com>

> 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
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>


More information about the Bf-committers mailing list