diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2016-10-14 04:24:27 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2016-10-14 22:00:32 +0300 |
commit | 4a10eb38a3fa8bd0db91e87cf0b2ac0f5495a6af (patch) | |
tree | b19d15a5a85e01841a0951d34324b5fcfb1f8085 /source/blender/editors | |
parent | e1e97bbb98e615b0dff3d45999be70897c8ff53d (diff) |
immediate mode: convert render border code and move to new drawing
routine
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 26 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw_legacy.c | 9 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_intern.h | 1 |
3 files changed, 28 insertions, 8 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index f2fc143f9c1..6fceb70d0f7 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -31,6 +31,7 @@ #include <math.h> #include "BIF_gl.h" +#include "BIF_glutil.h" #include "BKE_camera.h" #include "BKE_context.h" @@ -262,6 +263,26 @@ static void view3d_stereo3d_setup(Scene *scene, View3D *v3d, ARegion *ar) } } +void drawrenderborder(ARegion *ar, View3D *v3d) +{ + /* use the same program for everything */ + VertexFormat *format = immVertexFormat(); + unsigned pos = add_attrib(format, "pos", GL_FLOAT, 2, KEEP_FLOAT); + immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR); + + glLineWidth(1.0f); + setlinestyle(3); + imm_cpack(0x4040FF); + + imm_draw_line_box( + pos, v3d->render_border.xmin * ar->winx, v3d->render_border.ymin * ar->winy, + v3d->render_border.xmax * ar->winx, v3d->render_border.ymax * ar->winy); + + setlinestyle(0); + + immUnbindProgram(); +} + /* ******************** offline engine ***************** */ static bool view3d_draw_render_draw(const bContext *C, Scene *scene, @@ -1144,3 +1165,8 @@ bool VP_legacy_use_depth(Scene *scene, View3D *v3d) { return use_depth_doit(scene, v3d); } + +void VP_drawrenderborder(ARegion *ar, View3D *v3d) +{ + drawrenderborder(ar, v3d); +} diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c b/source/blender/editors/space_view3d/view3d_draw_legacy.c index 4d9e4142d3a..108a518acc6 100644 --- a/source/blender/editors/space_view3d/view3d_draw_legacy.c +++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c @@ -3396,14 +3396,7 @@ static void view3d_main_region_draw_info(const bContext *C, Scene *scene, drawviewborder(scene, ar, v3d); } else if (v3d->flag2 & V3D_RENDER_BORDER) { - glLineWidth(1.0f); - setlinestyle(3); - cpack(0x4040FF); - - sdrawbox(v3d->render_border.xmin * ar->winx, v3d->render_border.ymin * ar->winy, - v3d->render_border.xmax * ar->winx, v3d->render_border.ymax * ar->winy); - - setlinestyle(0); + VP_drawrenderborder(ar, v3d); } if (v3d->flag2 & V3D_SHOW_GPENCIL) { diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index ae9b028bf7b..a50976ef40a 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -328,5 +328,6 @@ bool VP_legacy_view3d_stereo3d_active(const struct bContext *C, Scene *scene, Vi void VP_legacy_view3d_stereo3d_setup(Scene *scene, View3D *v3d, ARegion *ar); void draw_dupli_objects(Scene *scene, ARegion *ar, View3D *v3d, Base *base); bool VP_legacy_use_depth(Scene *scene, View3D *v3d); +void VP_drawrenderborder(ARegion *ar, View3D *v3d); #endif /* __VIEW3D_INTERN_H__ */ |