diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-04-02 22:21:50 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-04-02 22:21:50 +0400 |
commit | 0d78b56c5b592a031d99f0eb41fbc9cc9020b46e (patch) | |
tree | f5f590ba914f92bff9ccb8ba4d4bbc758674421e /source/blender/src/drawobject.c | |
parent | 3144d6407603dc3e3fa1b8a710536e4d21c7a616 (diff) |
- mesh was drawing edges underneath selected edges in optimal mode,
waste of time!
- made solid face drawing respect hidden faces
- made selection work for hidden face drawing when select visible is on
Diffstat (limited to 'source/blender/src/drawobject.c')
-rw-r--r-- | source/blender/src/drawobject.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index 59399fa65f4..8d231b83c88 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -1610,13 +1610,9 @@ static void draw_em_fancy(Object *ob, EditMesh *em, DerivedMesh *baseDM, Derived bglPolygonOffset(1.0); glDepthMask(0); } else { - if (realDM) { + if (realDM && !(me->flag&ME_OPT_EDGES)) { BIF_ThemeColorBlend(TH_WIRE, TH_BACK, 0.7); - if (me->flag&ME_OPT_EDGES) { - realDM->drawMappedEdgesEM(realDM, NULL, NULL); - } else { - realDM->drawEdges(realDM); - } + realDM->drawEdges(realDM); } } @@ -3761,7 +3757,9 @@ static int bbs_mesh_wire(DerivedMesh *dm, int offset) static int bbs_mesh_solid__setDrawOptions(void *userData, EditFace *efa) { if (efa->h==0) { - set_framebuffer_index_color((int) efa->prev); + if (userData) { + set_framebuffer_index_color((int) efa->prev); + } return 1; } else { return 0; @@ -3784,7 +3782,7 @@ static int bbs_mesh_solid(Object *ob, DerivedMesh *dm, int facecol) efa->prev= (EditFace *)(b); a = b; - dm->drawMappedFacesEM(dm, bbs_mesh_solid__setDrawOptions, NULL); + dm->drawMappedFacesEM(dm, bbs_mesh_solid__setDrawOptions, (void*) 1); if(G.scene->selectmode & SCE_SELECT_FACE) { glPointSize(BIF_GetThemeValuef(TH_FACEDOT_SIZE)); @@ -3803,7 +3801,7 @@ static int bbs_mesh_solid(Object *ob, DerivedMesh *dm, int facecol) efa->prev= prevefa; return a; } else { - dm->drawMappedFacesEM(dm, NULL, NULL); + dm->drawMappedFacesEM(dm, bbs_mesh_solid__setDrawOptions, (void*) 0); return 1; } } |