Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2016-10-14 04:24:27 +0300
committerDalai Felinto <dfelinto@gmail.com>2016-10-14 22:00:32 +0300
commit4a10eb38a3fa8bd0db91e87cf0b2ac0f5495a6af (patch)
treeb19d15a5a85e01841a0951d34324b5fcfb1f8085 /source/blender/editors
parente1e97bbb98e615b0dff3d45999be70897c8ff53d (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.c26
-rw-r--r--source/blender/editors/space_view3d/view3d_draw_legacy.c9
-rw-r--r--source/blender/editors/space_view3d/view3d_intern.h1
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__ */