[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