[Bf-blender-cvs] [88d36e6456a] blender2.8: DRW: Add Provoking vertex state.

Clément Foucault noreply at git.blender.org
Fri Dec 7 05:34:59 CET 2018


Commit: 88d36e6456aa66ba4e65080e4a0b969c2cf7cea8
Author: Clément Foucault
Date:   Thu Dec 6 23:18:18 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB88d36e6456aa66ba4e65080e4a0b969c2cf7cea8

DRW: Add Provoking vertex state.

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

M	source/blender/draw/intern/DRW_render.h
M	source/blender/draw/intern/draw_manager_exec.c

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

diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index cdc6b28ccca..d3d4a35cf18 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -296,6 +296,7 @@ typedef enum {
 	DRW_STATE_WIRE_SMOOTH   = (1 << 22),
 	DRW_STATE_TRANS_FEEDBACK = (1 << 23),
 	DRW_STATE_BLEND_OIT     = (1 << 24),
+	DRW_STATE_FIRST_VERTEX_CONVENTION = (1 << 25),
 
 	DRW_STATE_WRITE_STENCIL          = (1 << 27),
 	DRW_STATE_WRITE_STENCIL_SHADOW_PASS   = (1 << 28),
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index 2d56c7e0cfe..65f3f38c0f1 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -356,6 +356,19 @@ void drw_state_set(DRWState state)
 		}
 	}
 
+	/* Provoking Vertex */
+	{
+		int test;
+		if ((test = CHANGED_TO(DRW_STATE_FIRST_VERTEX_CONVENTION))) {
+			if (test == 1) {
+				glProvokingVertex(GL_FIRST_VERTEX_CONVENTION);
+			}
+			else {
+				glProvokingVertex(GL_LAST_VERTEX_CONVENTION);
+			}
+		}
+	}
+
 #undef CHANGED_TO
 #undef CHANGED_ANY
 #undef CHANGED_ANY_STORE_VAR



More information about the Bf-blender-cvs mailing list