Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/drawobject.c
| Context not available. | |||||
| displist = glGenLists(1); | displist = glGenLists(1); | ||||
| glNewList(displist, GL_COMPILE); | glNewList(displist, GL_COMPILE); | ||||
| qobj = gluNewQuadric(); | qobj = gluNewQuadric(); | ||||
| gluQuadricDrawStyle(qobj, GLU_FILL); | gluQuadricDrawStyle(qobj, GLU_FILL); | ||||
| glShadeModel(GL_SMOOTH); | |||||
| gluSphere(qobj, 0.05, 8, 8); | gluSphere(qobj, 0.05, 8, 8); | ||||
| glShadeModel(GL_FLAT); | |||||
| gluDeleteQuadric(qobj); | gluDeleteQuadric(qobj); | ||||
| glEndList(); | glEndList(); | ||||
| Context not available. | |||||
| GPU_basic_shader_colors(NULL, NULL, 0, 1.0f); | GPU_basic_shader_colors(NULL, NULL, 0, 1.0f); | ||||
| GPU_basic_shader_bind(GPU_SHADER_LIGHTING | GPU_SHADER_USE_COLOR); | GPU_basic_shader_bind(GPU_SHADER_LIGHTING | GPU_SHADER_USE_COLOR); | ||||
| glShadeModel(GL_SMOOTH); | |||||
| tracking_object = tracking->objects.first; | tracking_object = tracking->objects.first; | ||||
| while (tracking_object) { | while (tracking_object) { | ||||
| draw_viewport_object_reconstruction( | draw_viewport_object_reconstruction( | ||||
| Context not available. | |||||
| } | } | ||||
| /* restore */ | /* restore */ | ||||
| glShadeModel(GL_FLAT); | |||||
| GPU_basic_shader_bind(GPU_SHADER_USE_COLOR); | GPU_basic_shader_bind(GPU_SHADER_USE_COLOR); | ||||
| if ((dflag & DRAW_CONSTCOLOR) == 0) { | if ((dflag & DRAW_CONSTCOLOR) == 0) { | ||||
| Context not available. | |||||
| if (ob->defbase.first && lt->dvert) { | if (ob->defbase.first && lt->dvert) { | ||||
| actdef_wcol = ob->actdef; | actdef_wcol = ob->actdef; | ||||
| glShadeModel(GL_SMOOTH); | |||||
| } | } | ||||
| } | } | ||||
| Context not available. | |||||
| } | } | ||||
| } | } | ||||
| glEnd(); | glEnd(); | ||||
| /* restoration for weight colors */ | |||||
| if (actdef_wcol) | |||||
| glShadeModel(GL_FLAT); | |||||
| if (is_edit) { | if (is_edit) { | ||||
| BPoint *actbp = BKE_lattice_active_point_get(lt); | BPoint *actbp = BKE_lattice_active_point_get(lt); | ||||
| Context not available. | |||||
| ((ts->selectmode & SCE_SELECT_VERTEX) || (me->drawflag & ME_DRAWEIGHT))) | ((ts->selectmode & SCE_SELECT_VERTEX) || (me->drawflag & ME_DRAWEIGHT))) | ||||
| { | { | ||||
| if (draw_dm_edges_weight_check(me, v3d)) { | if (draw_dm_edges_weight_check(me, v3d)) { | ||||
| glShadeModel(GL_SMOOTH); | // Interpolate vertex weights | ||||
| draw_dm_edges_weight_interp(em, cageDM, ts->weightuser); | draw_dm_edges_weight_interp(em, cageDM, ts->weightuser); | ||||
| glShadeModel(GL_FLAT); | |||||
| } | } | ||||
| else if (ts->selectmode == SCE_SELECT_FACE) { | else if (ts->selectmode == SCE_SELECT_FACE) { | ||||
| draw_dm_edges_sel(em, cageDM, wireCol, selCol, actCol, eed_act); | draw_dm_edges_sel(em, cageDM, wireCol, selCol, actCol, eed_act); | ||||
| } | } | ||||
| else { | else { | ||||
| glShadeModel(GL_SMOOTH); | // Interpolate vertex selection | ||||
| draw_dm_edges_sel_interp(em, cageDM, wireCol, selCol); | draw_dm_edges_sel_interp(em, cageDM, wireCol, selCol); | ||||
| glShadeModel(GL_FLAT); | |||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| Context not available. | |||||
| glEnableClientState(GL_VERTEX_ARRAY); | glEnableClientState(GL_VERTEX_ARRAY); | ||||
| if (ob->type == OB_MBALL) { /* mball always smooth shaded */ | |||||
| glShadeModel(GL_SMOOTH); | |||||
| } | |||||
| /* track current material, -1 for none (needed for lines) */ | /* track current material, -1 for none (needed for lines) */ | ||||
| short col = -1; | short col = -1; | ||||
| Context not available. | |||||
| // glVertexPointer(3, GL_FLOAT, 0, dl->verts); | // glVertexPointer(3, GL_FLOAT, 0, dl->verts); | ||||
| // glDrawArrays(GL_LINE_STRIP, 0, dl->nr); | // glDrawArrays(GL_LINE_STRIP, 0, dl->nr); | ||||
| glBegin(GL_LINE_STRIP); | glBegin(GL_LINE_STRIP); | ||||
| for (int nr = dl->nr; nr; nr--, data += 3) | for (int nr = dl->nr; nr; nr--, data += 3) | ||||
| glVertex3fv(data); | glVertex3fv(data); | ||||
| Context not available. | |||||
| GPU_object_material_bind(dl->col + 1, use_glsl ? &gattribs : NULL); | GPU_object_material_bind(dl->col + 1, use_glsl ? &gattribs : NULL); | ||||
| col = dl->col; | col = dl->col; | ||||
| } | } | ||||
| // FLAT/SMOOTH shading for surfaces | |||||
| if (dl->rt & CU_SMOOTH) glShadeModel(GL_SMOOTH); | if (dl->rt & CU_SMOOTH) glShadeModel(GL_SMOOTH); | ||||
| else glShadeModel(GL_FLAT); | else glShadeModel(GL_FLAT); | ||||
| Context not available. | |||||
| glNormalPointer(GL_FLOAT, 0, dl->nors); | glNormalPointer(GL_FLOAT, 0, dl->nors); | ||||
| glDrawElements(GL_QUADS, 4 * dl->totindex, GL_UNSIGNED_INT, dl->index); | glDrawElements(GL_QUADS, 4 * dl->totindex, GL_UNSIGNED_INT, dl->index); | ||||
| glDisableClientState(GL_NORMAL_ARRAY); | glDisableClientState(GL_NORMAL_ARRAY); | ||||
| glShadeModel(GL_SMOOTH); | |||||
| } | } | ||||
| break; | break; | ||||
| Context not available. | |||||
| } | } | ||||
| glDisableClientState(GL_VERTEX_ARRAY); | glDisableClientState(GL_VERTEX_ARRAY); | ||||
| glShadeModel(GL_FLAT); | |||||
| glFrontFace(GL_CCW); | glFrontFace(GL_CCW); | ||||
| if (col != -1) { | if (col != -1) { | ||||
| Context not available. | |||||