[Bf-blender-cvs] [965571cca72] blender2.8: Draw Manager: Handle negative scaled meshes.

Clément Foucault noreply at git.blender.org
Wed May 10 01:12:16 CEST 2017


Commit: 965571cca72ce120da05e0a74e38cb1867a6ccf3
Author: Clément Foucault
Date:   Wed May 10 00:47:27 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB965571cca72ce120da05e0a74e38cb1867a6ccf3

Draw Manager: Handle negative scaled meshes.

===================================================================

M	source/blender/draw/intern/draw_manager.c

===================================================================

diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index f8883c9930c..831ffe528e0 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1566,8 +1566,20 @@ static void draw_shgroup(DRWShadingGroup *shgroup, DRWState pass_state)
 	}
 	else {
 		for (DRWCall *call = shgroup->calls.first; call; call = call->next) {
+			bool neg_scale = call->obmat && is_negative_m4(call->obmat);
+
+			/* Negative scale objects */
+			if (neg_scale) {
+				glFrontFace(GL_CW);
+			}
+
 			GPU_SELECT_LOAD_IF_PICKSEL(call);
 			draw_geometry(shgroup, call->geometry, call->obmat);
+
+			/* Reset state */
+			if (neg_scale) {
+				glFrontFace(GL_CCW);
+			}
 		}
 	}




More information about the Bf-blender-cvs mailing list