[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