OpenGL: fixes related to GL_POINTS
I put all usage of GL_POINTS under the microscope. Fixed problems & optimized a couple of spots. - reduce calls to glPointSize by about 50% - draw selected & unselected vertices together for UV editor & EditMesh - draw initial gpencil stroke point the proper size - a few other smaller fixes New policy: each GL_POINTS draw call needs to set its desired point size. This eliminates half our calls to glPointSize (setting it back to its 1.0 default after every draw).
This commit is contained in:
parent
31375a1b21
commit
2d71d13ea2
|
@ -3432,7 +3432,6 @@ void REEB_draw()
|
|||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
glLineWidth(1.0);
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -105,9 +105,9 @@ static void gp_draw_stroke_buffer(tGPspoint *points, int totpoints, short thickn
|
|||
if (dflag & (GP_DRAWDATA_ONLY3D | GP_DRAWDATA_ONLYV2D))
|
||||
return;
|
||||
|
||||
/* if drawing a single point, draw it larger */
|
||||
if (totpoints == 1) {
|
||||
/* draw point */
|
||||
/* if drawing a single point, draw it larger */
|
||||
glPointSize((float)(thickness + 2) * points->pressure);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex2iv(&points->x);
|
||||
glEnd();
|
||||
|
@ -1123,7 +1123,6 @@ static void gp_draw_data(bGPdata *gpd, int offsx, int offsy, int winx, int winy,
|
|||
|
||||
/* restore initial gl conditions */
|
||||
glLineWidth(1.0);
|
||||
glPointSize(1.0);
|
||||
glColor4f(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
|
|
|
@ -728,6 +728,8 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
|
|||
/* LUMA (1 channel) */
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
glColor3f(alpha, alpha, alpha);
|
||||
glPointSize(1.0);
|
||||
|
||||
if (scopes->wavefrm_mode == SCOPES_WAVEFRM_LUMA) {
|
||||
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
|
@ -944,6 +946,7 @@ void ui_draw_but_VECTORSCOPE(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wco
|
|||
glScalef(diam, diam, 0.f);
|
||||
|
||||
glVertexPointer(2, GL_FLOAT, 0, scopes->vecscope);
|
||||
glPointSize(1.0);
|
||||
glDrawArrays(GL_POINTS, 0, scopes->waveform_tot);
|
||||
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
|
@ -1517,7 +1520,6 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
|
|||
glVertex2fv(fac);
|
||||
}
|
||||
glEnd();
|
||||
glPointSize(1.0f);
|
||||
|
||||
/* restore scissortest */
|
||||
glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
|
||||
|
|
|
@ -387,8 +387,6 @@ static void draw_spline_points(const bContext *C, MaskLayer *masklay, MaskSpline
|
|||
draw_circle(x, y, 6.0f, false, xscale, yscale);
|
||||
}
|
||||
|
||||
glPointSize(1.0f);
|
||||
|
||||
if (is_smooth) {
|
||||
glDisable(GL_LINE_SMOOTH);
|
||||
glDisable(GL_BLEND);
|
||||
|
|
|
@ -117,8 +117,6 @@ static void ringsel_draw(const bContext *C, ARegion *UNUSED(ar), void *arg)
|
|||
glVertexPointer(3, GL_FLOAT, 0, lcd->points);
|
||||
glDrawArrays(GL_POINTS, 0, lcd->totpoint);
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
|
||||
glPopMatrix();
|
||||
|
|
|
@ -467,7 +467,6 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
|
|||
glVertex2f(path[i][0], path[i][1]);
|
||||
}
|
||||
glEnd();
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
|
||||
static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker,
|
||||
|
@ -495,12 +494,10 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT
|
|||
if (isect_point_quad_v2(p, marker->pattern_corners[0], marker->pattern_corners[1],
|
||||
marker->pattern_corners[2], marker->pattern_corners[3]))
|
||||
{
|
||||
if (tiny) glPointSize(3.0f);
|
||||
else glPointSize(4.0f);
|
||||
glPointSize(tiny ? 3.0f : 4.0f);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex2f(pos[0], pos[1]);
|
||||
glEnd();
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
else {
|
||||
if (!tiny) glLineWidth(3.0f);
|
||||
|
@ -612,15 +609,10 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
|
|||
if (isect_point_quad_v2(p, marker->pattern_corners[0], marker->pattern_corners[1],
|
||||
marker->pattern_corners[2], marker->pattern_corners[3]))
|
||||
{
|
||||
if (!tiny)
|
||||
glPointSize(2.0f);
|
||||
|
||||
glPointSize(tiny ? 1.0f : 2.0f);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex2f(pos[0], pos[1]);
|
||||
glEnd();
|
||||
|
||||
if (!tiny)
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
else {
|
||||
glBegin(GL_LINES);
|
||||
|
@ -1451,7 +1443,6 @@ static void draw_tracking_tracks(SpaceClip *sc, Scene *scene, ARegion *ar, Movie
|
|||
track = track->next;
|
||||
}
|
||||
|
||||
glPointSize(1.0f);
|
||||
glDisable(GL_POINT_SMOOTH);
|
||||
}
|
||||
|
||||
|
@ -1677,7 +1668,6 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
|
|||
}
|
||||
|
||||
glLineWidth(1.0f);
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
|
||||
glPopMatrix();
|
||||
|
|
|
@ -112,9 +112,7 @@ static void draw_fcurve_modifier_controls_envelope(FModifier *fcm, View2D *v2d)
|
|||
glVertex2f(fed->time, fed->max);
|
||||
}
|
||||
}
|
||||
glEnd(); /* GL_POINTS */
|
||||
|
||||
glPointSize(1.0f);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
/* *************************** */
|
||||
|
@ -152,7 +150,7 @@ static void draw_fcurve_vertices_keyframes(FCurve *fcu, SpaceIpo *UNUSED(sipo),
|
|||
}
|
||||
}
|
||||
|
||||
glEnd(); /* GL_POINTS */
|
||||
glEnd();
|
||||
}
|
||||
|
||||
|
||||
|
@ -288,8 +286,6 @@ static void draw_fcurve_vertices(SpaceIpo *sipo, ARegion *ar, FCurve *fcu, short
|
|||
|
||||
set_fcurve_vertex_color(fcu, 1);
|
||||
draw_fcurve_vertices_keyframes(fcu, sipo, v2d, !(fcu->flag & FCURVE_PROTECTED), 1);
|
||||
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
|
||||
/* Handles ---------------- */
|
||||
|
@ -915,8 +911,6 @@ static void graph_draw_driver_debug(bAnimContext *ac, ID *id, FCurve *fcu)
|
|||
glBegin(GL_POINTS);
|
||||
glVertex2f(x, y);
|
||||
glEnd();
|
||||
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -220,7 +220,6 @@ void draw_motion_path_instance(Scene *scene,
|
|||
glVertex3fv(mpv->co);
|
||||
glEnd();
|
||||
|
||||
glPointSize(1.0f);
|
||||
UI_ThemeColor(TH_TEXT_HI);
|
||||
}
|
||||
|
||||
|
@ -305,8 +304,6 @@ void draw_motion_path_instance(Scene *scene,
|
|||
}
|
||||
glEnd();
|
||||
|
||||
glPointSize(1.0f);
|
||||
|
||||
/* Draw frame numbers of keyframes */
|
||||
if (avs->path_viewflag & MOTIONPATH_VIEW_KFNOS) {
|
||||
float co[3];
|
||||
|
|
|
@ -1000,6 +1000,12 @@ static void draw_line_bone(int armflag, int boneflag, short constflag, unsigned
|
|||
/* this chunk not in object mode */
|
||||
if (armflag & (ARM_EDITMODE | ARM_POSEMODE)) {
|
||||
glLineWidth(4.0f);
|
||||
if (G.f & G_PICKSEL) {
|
||||
/* no bitmap in selection mode, crashes 3d cards...
|
||||
* instead draw a solid point the same size */
|
||||
glPointSize(8.0f);
|
||||
}
|
||||
|
||||
if (armflag & ARM_POSEMODE)
|
||||
set_pchan_glColor(PCHAN_COLOR_NORMAL, boneflag, constflag);
|
||||
else if (armflag & ARM_EDITMODE) {
|
||||
|
@ -1008,7 +1014,7 @@ static void draw_line_bone(int armflag, int boneflag, short constflag, unsigned
|
|||
|
||||
/* Draw root point if we are not connected */
|
||||
if ((boneflag & BONE_CONNECTED) == 0) {
|
||||
if (G.f & G_PICKSEL) { /* no bitmap in selection mode, crashes 3d cards... */
|
||||
if (G.f & G_PICKSEL) {
|
||||
GPU_select_load_id(id | BONESEL_ROOT);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex3f(0.0f, 0.0f, 0.0f);
|
||||
|
@ -2587,7 +2593,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
|
|||
|
||||
/* ********************************** Armature Drawing - Main ************************* */
|
||||
|
||||
/* called from drawobject.c, return 1 if nothing was drawn
|
||||
/* called from drawobject.c, return true if nothing was drawn
|
||||
* (ob_wire_col == NULL) when drawing ghost */
|
||||
bool draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
|
||||
const short dt, const short dflag, const unsigned char ob_wire_col[4],
|
||||
|
|
|
@ -135,7 +135,6 @@ typedef struct drawDMVerts_userData {
|
|||
unsigned char th_vertex_select[4];
|
||||
unsigned char th_vertex[4];
|
||||
unsigned char th_skin_root[4];
|
||||
float th_vertex_size;
|
||||
|
||||
/* for skin node drawing */
|
||||
int cd_vskin_offset;
|
||||
|
@ -972,7 +971,6 @@ static void drawshadbuflimits(Lamp *la, float mat[4][4])
|
|||
glVertex3fv(sta);
|
||||
glVertex3fv(end);
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static void spotvolume(float lvec[3], float vvec[3], const float inp)
|
||||
|
@ -1501,7 +1499,6 @@ static void drawlamp(View3D *v3d, RegionView3D *rv3d, Base *base,
|
|||
glBegin(GL_POINTS);
|
||||
glVertex3fv(vec);
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
|
@ -1529,7 +1526,6 @@ static void draw_limit_line(float sta, float end, const short dflag, const unsig
|
|||
glVertex3f(0.0, 0.0, -sta);
|
||||
glVertex3f(0.0, 0.0, -end);
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2234,7 +2230,6 @@ static void lattice_draw_verts(Lattice *lt, DispList *dl, BPoint *actbp, short s
|
|||
}
|
||||
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static void drawlattice__point(Lattice *lt, DispList *dl, int u, int v, int w, int actdef_wcol)
|
||||
|
@ -2567,20 +2562,13 @@ static void draw_dm_verts__mapFunc(void *userData, int index, const float co[3],
|
|||
}
|
||||
}
|
||||
|
||||
/* draw active larger - need to stop/start point drawing for this :/ */
|
||||
/* draw active in a different color - no need to stop/start point drawing for this :D */
|
||||
if (eve == data->eve_act) {
|
||||
glColor4ubv(data->th_editmesh_active);
|
||||
|
||||
glEnd();
|
||||
|
||||
glPointSize(data->th_vertex_size);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex3fv(co);
|
||||
glEnd();
|
||||
|
||||
/* back to regular vertex color */
|
||||
glColor4ubv(data->sel ? data->th_vertex_select : data->th_vertex);
|
||||
glPointSize(data->th_vertex_size);
|
||||
glBegin(GL_POINTS);
|
||||
}
|
||||
else {
|
||||
glVertex3fv(co);
|
||||
|
@ -2601,7 +2589,6 @@ static void draw_dm_verts(BMEditMesh *em, DerivedMesh *dm, const char sel, BMVer
|
|||
UI_GetThemeColor4ubv(TH_VERTEX_SELECT, data.th_vertex_select);
|
||||
UI_GetThemeColor4ubv(TH_VERTEX, data.th_vertex);
|
||||
UI_GetThemeColor4ubv(TH_SKIN_ROOT, data.th_skin_root);
|
||||
data.th_vertex_size = UI_GetThemeValuef(TH_VERTEX_SIZE);
|
||||
|
||||
/* For skin root drawing */
|
||||
data.cd_vskin_offset = CustomData_get_offset(&em->bm->vdata, CD_MVERT_SKIN);
|
||||
|
@ -2609,6 +2596,7 @@ static void draw_dm_verts(BMEditMesh *em, DerivedMesh *dm, const char sel, BMVer
|
|||
mul_m4_m4m4(data.imat, rv3d->viewmat, em->ob->obmat);
|
||||
invert_m4(data.imat);
|
||||
|
||||
glPointSize(UI_GetThemeValuef(TH_VERTEX_SIZE));
|
||||
glBegin(GL_POINTS);
|
||||
dm->foreachMappedVert(dm, draw_dm_verts__mapFunc, &data, DM_FOREACH_NOP);
|
||||
glEnd();
|
||||
|
@ -3182,7 +3170,6 @@ static void draw_em_fancy_verts(Scene *scene, View3D *v3d, Object *obedit,
|
|||
}
|
||||
|
||||
if (v3d->zbuf) glDepthMask(1);
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static void draw_em_fancy_edges(BMEditMesh *em, Scene *scene, View3D *v3d,
|
||||
|
@ -3995,7 +3982,6 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
|
|||
{
|
||||
glPointSize(1.5);
|
||||
dm->drawVerts(dm);
|
||||
glPointSize(1.0);
|
||||
}
|
||||
else if ((dt == OB_WIRE) || no_faces) {
|
||||
draw_wire = OBDRAW_WIRE_ON; /* draw wire only, no depth buffer stuff */
|
||||
|
@ -4196,8 +4182,6 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
|
|||
drawSelectedVertices(dm, ob->data);
|
||||
if (!use_depth) glEnable(GL_DEPTH_TEST);
|
||||
else ED_view3d_polygon_offset(rv3d, 0.0);
|
||||
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
dm->release(dm);
|
||||
}
|
||||
|
@ -5846,7 +5830,6 @@ static void draw_ptcache_edit(Scene *scene, View3D *v3d, PTCacheEdit *edit)
|
|||
glShadeModel(GL_FLAT);
|
||||
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
|
||||
glLineWidth(1.0f);
|
||||
glPointSize(1.0f);
|
||||
}
|
||||
|
||||
static void ob_draw_RE_motion(float com[3], float rotscale[3][3], float itw, float ith, float drw_size)
|
||||
|
@ -6161,7 +6144,6 @@ static void drawvertsN(Nurb *nu, const char sel, const bool hide_handles, const
|
|||
}
|
||||
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static void editnurb_draw_active_poly(Nurb *nu)
|
||||
|
@ -7268,7 +7250,6 @@ static void draw_hooks(Object *ob)
|
|||
glBegin(GL_POINTS);
|
||||
glVertex3fv(vec);
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7859,7 +7840,6 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
|
|||
}
|
||||
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
|
||||
glMultMatrixf(ob->obmat);
|
||||
glDisable(GL_BLEND);
|
||||
|
@ -8047,9 +8027,12 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
|
|||
if (do_draw_center != -1) {
|
||||
if (dflag & DRAW_PICKING) {
|
||||
/* draw a single point for opengl selection */
|
||||
glBegin(GL_POINTS);
|
||||
glVertex3fv(ob->obmat[3]);
|
||||
glEnd();
|
||||
if (U.obcenter_dia > 0) {
|
||||
glPointSize(U.obcenter_dia);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex3fv(ob->obmat[3]);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
else if ((dflag & DRAW_CONSTCOLOR) == 0) {
|
||||
/* we don't draw centers for duplicators and sets */
|
||||
|
@ -8200,7 +8183,6 @@ static void bbs_obmode_mesh_verts(Object *ob, DerivedMesh *dm, int offset)
|
|||
glBegin(GL_POINTS);
|
||||
dm->foreachMappedVert(dm, bbs_obmode_mesh_verts__mapFunc, &data, DM_FOREACH_NOP);
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static void bbs_mesh_verts__mapFunc(void *userData, int index, const float co[3],
|
||||
|
@ -8221,7 +8203,6 @@ static void bbs_mesh_verts(BMEditMesh *em, DerivedMesh *dm, int offset)
|
|||
glBegin(GL_POINTS);
|
||||
dm->foreachMappedVert(dm, bbs_mesh_verts__mapFunc, &data, DM_FOREACH_NOP);
|
||||
glEnd();
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static DMDrawOption bbs_mesh_wire__setDrawOptions(void *userData, int index)
|
||||
|
|
|
@ -62,7 +62,6 @@ static void draw_sim_debug_elements(SimDebugData *debug_data, float imat[4][4])
|
|||
glVertex3f(elem->v1[0], elem->v1[1], elem->v1[2]);
|
||||
}
|
||||
glEnd();
|
||||
glPointSize(1.0f);
|
||||
|
||||
/**** circles ****/
|
||||
|
||||
|
@ -123,7 +122,6 @@ static void draw_sim_debug_elements(SimDebugData *debug_data, float imat[4][4])
|
|||
glVertex3f(elem->v1[0], elem->v1[1], elem->v1[2]);
|
||||
}
|
||||
glEnd();
|
||||
glPointSize(1.0f);
|
||||
|
||||
glBegin(GL_LINES);
|
||||
for (BLI_ghashIterator_init(&iter, debug_data->gh); !BLI_ghashIterator_done(&iter); BLI_ghashIterator_step(&iter)) {
|
||||
|
|
|
@ -1326,6 +1326,7 @@ static void draw_manipulator_scale(
|
|||
}
|
||||
}
|
||||
|
||||
#if 0 // XXX
|
||||
/* if shiftkey, center point as last, for selectbuffer order */
|
||||
if (is_picksel) {
|
||||
int shift = 0; // XXX
|
||||
|
@ -1333,11 +1334,13 @@ static void draw_manipulator_scale(
|
|||
if (shift) {
|
||||
glTranslatef(0.0, -dz, 0.0);
|
||||
GPU_select_load_id(MAN_SCALE_C);
|
||||
/* TODO: set glPointSize before drawing center point */
|
||||
glBegin(GL_POINTS);
|
||||
glVertex3f(0.0, 0.0, 0.0);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* restore */
|
||||
glLoadMatrixf(rv3d->viewmat);
|
||||
|
|
|
@ -856,12 +856,13 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit)
|
|||
float cent[2];
|
||||
|
||||
pointsize = UI_GetThemeValuef(TH_FACEDOT_SIZE);
|
||||
glPointSize(pointsize); // TODO - drawobject.c changes this value after - Investigate!
|
||||
glPointSize(pointsize);
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
|
||||
/* unselected faces */
|
||||
UI_ThemeColor(TH_WIRE);
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
|
||||
if (!BM_elem_flag_test(efa, BM_ELEM_TAG))
|
||||
continue;
|
||||
|
@ -871,12 +872,10 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit)
|
|||
glVertex2fv(cent);
|
||||
}
|
||||
}
|
||||
glEnd();
|
||||
|
||||
/* selected faces */
|
||||
UI_ThemeColor(TH_FACE_DOT);
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
|
||||
if (!BM_elem_flag_test(efa, BM_ELEM_TAG))
|
||||
continue;
|
||||
|
@ -886,6 +885,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit)
|
|||
glVertex2fv(cent);
|
||||
}
|
||||
}
|
||||
|
||||
glEnd();
|
||||
}
|
||||
|
||||
|
@ -947,8 +947,6 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit)
|
|||
}
|
||||
glEnd();
|
||||
}
|
||||
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1506,15 +1506,12 @@ static void stitch_calculate_edge_normal(BMEditMesh *em, UvEdge *edge, float *no
|
|||
static void stitch_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void *arg)
|
||||
{
|
||||
int i, index = 0;
|
||||
float pointsize = UI_GetThemeValuef(TH_VERTEX_SIZE);
|
||||
StitchState *state = (StitchState *)arg;
|
||||
StitchPreviewer *stitch_preview = state->stitch_preview;
|
||||
|
||||
glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
|
||||
glPointSize(pointsize * 2.0f);
|
||||
|
||||
glEnable(GL_BLEND);
|
||||
|
||||
UI_ThemeColor4(TH_STITCH_PREVIEW_ACTIVE);
|
||||
|
@ -1542,6 +1539,8 @@ static void stitch_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void *ar
|
|||
|
||||
/* draw vert preview */
|
||||
if (state->mode == STITCH_VERT) {
|
||||
glPointSize(UI_GetThemeValuef(TH_VERTEX_SIZE) * 2.0f);
|
||||
|
||||
UI_ThemeColor4(TH_STITCH_PREVIEW_STITCHABLE);
|
||||
glVertexPointer(2, GL_FLOAT, 0, stitch_preview->preview_stitchable);
|
||||
glDrawArrays(GL_POINTS, 0, stitch_preview->num_stitchable);
|
||||
|
@ -1562,8 +1561,6 @@ static void stitch_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void *ar
|
|||
|
||||
glPopClientAttrib();
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
|
||||
glPointSize(1.0);
|
||||
}
|
||||
|
||||
static UvEdge *uv_edge_get(BMLoop *l, StitchState *state)
|
||||
|
|
|
@ -923,6 +923,7 @@ bool GPU_fx_do_composite_pass(
|
|||
glDisable(GL_DEPTH_TEST);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
glPointSize(1.0f);
|
||||
/* have to clear the buffer unfortunately */
|
||||
glClearColor(0.0, 0.0, 0.0, 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
|
Loading…
Reference in New Issue