diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-05 16:38:41 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-05 16:38:41 +0300 |
commit | 236b533015b290c82b98219b40f76e17462c52e8 (patch) | |
tree | d7f673da1965078ffb4334952417aaa33a643254 /source | |
parent | 65af2e2d488c28cd8176ab10f9f9abfbd0ce8c6b (diff) |
[#20462] Weight painting subsurf mesh doesn't work with VBO
- backbuf colors were ignored with VBO's, disable since to make this work with VBO's it would need to re-bind a color array, then restore the previous one after.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index e9a1021a203..978694d3feb 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -769,7 +769,9 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us if(!mc) mc = DM_get_face_data_layer(dm, CD_MCOL); - if( GPU_buffer_legacy(dm) ) { + /* back-buffer always uses legacy since VBO's would need the + * color array temporarily overwritten for drawing, then reset. */ + if( GPU_buffer_legacy(dm) || G.f & G_BACKBUFSEL) { DEBUG_VBO( "Using legacy code. cdDM_drawMappedFaces\n" ); for(i = 0; i < dm->numFaceData; i++, mf++) { int drawSmooth = (mf->flag & ME_SMOOTH); |