[Bf-blender-cvs] [ec9ce9e1186] blender2.8: Draw Manager: No need of glScissor for external engines
Dalai Felinto
noreply at git.blender.org
Tue May 2 15:26:26 CEST 2017
Commit: ec9ce9e11864146dc6748f2388b56f95346a5053
Author: Dalai Felinto
Date: Tue May 2 15:26:18 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBec9ce9e11864146dc6748f2388b56f95346a5053
Draw Manager: No need of glScissor for external engines
===================================================================
M source/blender/draw/engines/external/external_engine.c
===================================================================
diff --git a/source/blender/draw/engines/external/external_engine.c b/source/blender/draw/engines/external/external_engine.c
index 7edb224ed11..ad7c8ce7da3 100644
--- a/source/blender/draw/engines/external/external_engine.c
+++ b/source/blender/draw/engines/external/external_engine.c
@@ -142,19 +142,9 @@ static void external_draw_scene(void *UNUSED(vedata))
{
const DRWContextState *draw_ctx = DRW_context_state_get();
Scene *scene = draw_ctx->scene;
- View3D *v3d = draw_ctx->v3d;
RegionView3D *rv3d = draw_ctx->rv3d;
ARegion *ar = draw_ctx->ar;
-
RenderEngineType *type;
- GLint scissor[4];
-
- rcti border_rect;
- bool render_border;
- bool clip_border;
-
- render_border = ED_view3d_calc_render_border(scene, v3d, ar, &border_rect);
- clip_border = render_border && !BLI_rcti_compare(&ar->drawrct, &border_rect);
/* Create render engine. */
if (!rv3d->render_engine) {
@@ -176,27 +166,10 @@ static void external_draw_scene(void *UNUSED(vedata))
gpuPushProjectionMatrix();
ED_region_pixelspace(ar);
- if (clip_border) {
- /* For border draw, we only need to clear a subset of the 3d view. */
- if (border_rect.xmax > border_rect.xmin && border_rect.ymax > border_rect.ymin) {
- glGetIntegerv(GL_SCISSOR_BOX, scissor);
- glScissor(border_rect.xmin, border_rect.ymin,
- BLI_rcti_size_x(&border_rect), BLI_rcti_size_y(&border_rect));
- }
- else {
- return;
- }
- }
-
/* Render result draw. */
type = rv3d->render_engine->type;
type->render_to_view(rv3d->render_engine, draw_ctx->evil_C);
- if (clip_border) {
- /* Restore scissor as it was before. */
- glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
- }
-
gpuPopProjectionMatrix();
}
More information about the Bf-blender-cvs
mailing list