Commit: 4a10eb38a3fa8bd0db91e87cf0b2ac0f5495a6af Author: Dalai Felinto Date: Fri Oct 14 01:24:27 2016 +0000 Branches: blender2.8 https://developer.blender.org/rB4a10eb38a3fa8bd0db91e87cf0b2ac0f5495a6af
immediate mode: convert render border code and move to new drawing routine =================================================================== M source/blender/editors/space_view3d/view3d_draw.c M source/blender/editors/space_view3d/view3d_draw_legacy.c M source/blender/editors/space_view3d/view3d_intern.h =================================================================== diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index f2fc143..6fceb70 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 4d9e414..108a518 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 ae9b028..a50976e 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__ */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs