diff options
author | Mike Erwin <significant.bit@gmail.com> | 2016-01-22 10:44:33 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2016-01-22 10:52:12 +0300 |
commit | 1d88773b1f2e905773069a2d39617dd350683547 (patch) | |
tree | a37e43a0d556da409c034eaeaa4509a5a8e3836f /source/blender/editors/space_clip | |
parent | 8c596e08e7b787782c91578ffd46c6ec8e409023 (diff) |
OpenGL: cleanup
- LINE_STRIP to LINES when only drawing one
- group state changes for easier reading
- general cleanup
Diffstat (limited to 'source/blender/editors/space_clip')
-rw-r--r-- | source/blender/editors/space_clip/clip_draw.c | 49 | ||||
-rw-r--r-- | source/blender/editors/space_clip/clip_utils.c | 15 |
2 files changed, 29 insertions, 35 deletions
diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c index 77934bb4099..a4dc71dfb83 100644 --- a/source/blender/editors/space_clip/clip_draw.c +++ b/source/blender/editors/space_clip/clip_draw.c @@ -481,6 +481,8 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT px[0] = 1.0f / width / sc->zoom; px[1] = 1.0f / height / sc->zoom; + glLineWidth(tiny ? 1.0f : 3.0f); + if ((marker->flag & MARKER_DISABLED) == 0) { float pos[2]; float p[2]; @@ -500,7 +502,6 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT glEnd(); } else { - if (!tiny) glLineWidth(3.0f); glBegin(GL_LINES); glVertex2f(pos[0] + px[0] * 2, pos[1]); glVertex2f(pos[0] + px[0] * 8, pos[1]); @@ -522,9 +523,6 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT glPushMatrix(); glTranslate2fv(marker_pos); - if (!tiny) - glLineWidth(3.0f); - if (sc->flag & SC_SHOW_MARKER_PATTERN) { glBegin(GL_LINE_LOOP); glVertex2fv(marker->pattern_corners[0]); @@ -795,7 +793,6 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo track_colors(track, act, col, scol); if (outline) { - glLineWidth(3.0f); UI_ThemeColor(TH_MARKER_OUTLINE); } @@ -854,6 +851,8 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max); + glLineWidth(outline ? 3.0f : 1.0f); + glEnable(GL_LINE_STIPPLE); glLineStipple(3, 0xaaaa); @@ -1149,17 +1148,18 @@ static void draw_plane_marker_ex(SpaceClip *sc, Scene *scene, MovieTrackingPlane draw_plane_marker_image(scene, plane_track, plane_marker); } - if (draw_outline) { - if (!tiny) { - glLineWidth(3.0f); + if (draw_plane_quad) { + + const bool stipple = !draw_outline && tiny; + const bool thick = draw_outline && !tiny; + + if (stipple) { + glLineStipple(3, 0xaaaa); + glEnable(GL_LINE_STIPPLE); } - } - else if (tiny) { - glLineStipple(3, 0xaaaa); - glEnable(GL_LINE_STIPPLE); - } - if (draw_plane_quad) { + glLineWidth(thick ? 3.0f : 1.0f); + /* Draw rectangle itself. */ glBegin(GL_LINE_LOOP); glVertex2fv(plane_marker->corners[0]); @@ -1173,22 +1173,28 @@ static void draw_plane_marker_ex(SpaceClip *sc, Scene *scene, MovieTrackingPlane float end_point[2]; glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT); + glBegin(GL_LINES); + getArrowEndPoint(width, height, sc->zoom, plane_marker->corners[0], plane_marker->corners[1], end_point); glColor3f(1.0, 0.0, 0.0f); - glBegin(GL_LINES); glVertex2fv(plane_marker->corners[0]); glVertex2fv(end_point); - glEnd(); getArrowEndPoint(width, height, sc->zoom, plane_marker->corners[0], plane_marker->corners[3], end_point); glColor3f(0.0, 1.0, 0.0f); - glBegin(GL_LINES); glVertex2fv(plane_marker->corners[0]); glVertex2fv(end_point); + glEnd(); glPopAttrib(); } + + if (stipple) + glDisable(GL_LINE_STIPPLE); + + if (thick) + glLineWidth(1.0f); } /* Draw sliders. */ @@ -1199,15 +1205,6 @@ static void draw_plane_marker_ex(SpaceClip *sc, Scene *scene, MovieTrackingPlane 3.0f * px[0], 3.0f * px[1], draw_outline, px); } } - - if (draw_outline) { - if (!tiny) { - glLineWidth(1.0f); - } - } - else if (tiny) { - glDisable(GL_LINE_STIPPLE); - } } static void draw_plane_marker_outline(SpaceClip *sc, Scene *scene, MovieTrackingPlaneTrack *plane_track, diff --git a/source/blender/editors/space_clip/clip_utils.c b/source/blender/editors/space_clip/clip_utils.c index 48f8f587106..034429f6992 100644 --- a/source/blender/editors/space_clip/clip_utils.c +++ b/source/blender/editors/space_clip/clip_utils.c @@ -247,20 +247,17 @@ void clip_draw_cfra(SpaceClip *sc, ARegion *ar, Scene *scene) { View2D *v2d = &ar->v2d; float xscale, yscale; - float vec[2]; /* Draw a light green line to indicate current frame */ - vec[0] = (float)(sc->user.framenr * scene->r.framelen); - UI_ThemeColor(TH_CFRAME); - glLineWidth(2.0); - glBegin(GL_LINE_STRIP); - vec[1] = v2d->cur.ymin; - glVertex2fv(vec); + float x = (float)(sc->user.framenr * scene->r.framelen); + + glLineWidth(2.0); - vec[1] = v2d->cur.ymax; - glVertex2fv(vec); + glBegin(GL_LINES); + glVertex2f(x, v2d->cur.ymin); + glVertex2f(x, v2d->cur.ymax); glEnd(); glLineWidth(1.0); |