immediate mode: convert render border code and move to new drawing
routine
This commit is contained in:
parent
e1e97bbb98
commit
4a10eb38a3
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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__ */
|
||||
|
|
Loading…
Reference in New Issue