diff options
author | Ton Roosendaal <ton@blender.org> | 2005-09-23 12:29:32 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-09-23 12:29:32 +0400 |
commit | f12a5512136920730a5ab6bdf70ca90a427ca290 (patch) | |
tree | 7a6a8ed7240d4a883a89d8d87a15e21f31dd74e5 | |
parent | 00d26ddf483e23beb82921e6a1854df07ccd1e39 (diff) |
Bugfix #2746
In Surface editmode, solid draw mode, curves are drawn in wire now
(where in invisible). Its a simple fix, it shouldn't give issues with
the Nurbana work. :)
-rw-r--r-- | source/blender/src/drawobject.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index 80a9bcbbe03..81b8eb34071 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -1914,7 +1914,7 @@ static void drawDispListwire(ListBase *dlbase) static void drawDispListsolid(ListBase *lb, Object *ob) { DispList *dl; - int parts, ofs, p1, p2, p3, p4, a, b, *index; + int nr, parts, ofs, p1, p2, p3, p4, a, b, *index; float *data, *v1, *v2, *v3, *v4; float *ndata, *n1, *n2, *n3, *n4; @@ -1935,6 +1935,37 @@ static void drawDispListsolid(ListBase *lb, Object *ob) ndata= dl->nors; switch(dl->type) { + case DL_SEGM: + BIF_ThemeColor(TH_WIRE); + glDisable(GL_LIGHTING); + + parts= dl->parts; + while(parts--) { + nr= dl->nr; + glBegin(GL_LINE_STRIP); + while(nr--) { + glVertex3fv(data); + data+=3; + } + glEnd(); + } + glEnable(GL_LIGHTING); + break; + case DL_POLY: + BIF_ThemeColor(TH_WIRE); + glDisable(GL_LIGHTING); + parts= dl->parts; + while(parts--) { + nr= dl->nr; + glBegin(GL_LINE_LOOP); + while(nr--) { + glVertex3fv(data); + data+=3; + } + glEnd(); + } + glEnable(GL_LIGHTING); + break; case DL_SURF: set_gl_material(dl->col+1); |