[Bf-blender-cvs] [76ecbd38f2f] blender2.8: Edit Mode Engine: Fix shader compilation on AMD. Also fix Bweight display.

Clément Foucault noreply at git.blender.org
Wed Apr 19 11:09:15 CEST 2017


Commit: 76ecbd38f2fe387b88bc0f40baa3ad6f7734dbf9
Author: Clément Foucault
Date:   Wed Apr 19 11:08:38 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB76ecbd38f2fe387b88bc0f40baa3ad6f7734dbf9

Edit Mode Engine: Fix shader compilation on AMD. Also fix Bweight display.

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

M	source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
M	source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
M	source/blender/draw/modes/shaders/edit_mesh_overlay_loosevert_vert.glsl

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

diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
index ddeecf12bd6..de56a637536 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
@@ -18,7 +18,7 @@ in ivec4 vData[];
 /* these are the same for all vertices
  * and does not need interpolation */
 flat out vec3 edgesCrease;
-flat out vec3 edgesSharp;
+flat out vec3 edgesBweight;
 flat out ivec3 flag;
 flat out vec4 faceColor;
 flat out int clipCase;
@@ -131,7 +131,7 @@ void main()
 
 	flag[2] = vData[0].y | (vData[0].x << 8);
 	edgesCrease[2] = vData[0].z / 255.0;
-	edgesSharp[2] = vData[0].w / 255.0;
+	edgesBweight[2] = vData[0].w / 255.0;
 
 	doVertex(1, pPos[1] + vec4( dirs2.zw, 0.0, 0.0));
 	doVertex(1, pPos[1] + vec4(-dirs2.zw, 0.0, 0.0));
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
index 41aade3d3c7..49ff1677822 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
@@ -33,7 +33,7 @@ in ivec4 vData[];
 /* these are the same for all vertices
  * and does not need interpolation */
 flat out vec3 edgesCrease;
-flat out vec3 edgesSharp;
+flat out vec3 edgesBweight;
 flat out ivec3 flag;
 flat out vec4 faceColor;
 flat out int clipCase;
@@ -126,11 +126,11 @@ void main()
 		return;
 
 	/* Edge */
-	ivec3 eflag; vec3 ecrease, esharp;
+	ivec3 eflag; vec3 ecrease, ebweight;
 	for (int v = 0; v < 3; ++v) {
 		flag[v] = eflag[v] = vData[v].y | (vData[v].x << 8);
 		edgesCrease[v] = ecrease[v] = vData[v].z / 255.0;
-		edgesSharp[v] = esharp[v] = vData[v].w / 255.0;
+		edgesBweight[v] = ebweight[v] = vData[v].w / 255.0;
 	}
 
 	/* Face */
@@ -244,7 +244,7 @@ void main()
 			flag[1] = (vData[vaf].x << 8);
 			flag[2] = eflag[vbe];
 			edgesCrease[2] = ecrease[vbe];
-			edgesSharp[2] = esharp[vbe];
+			edgesBweight[2] = ebweight[vbe];
 
 			doVertex(vaf, pPos[vaf]);
 			doVertex(vaf, pPos[vaf] + vec4(fixvecaf[v], 0.0, 0.0));
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_loosevert_vert.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_loosevert_vert.glsl
index 3ff76a77da2..a264e11bd5c 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_loosevert_vert.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_loosevert_vert.glsl
@@ -13,9 +13,14 @@ in ivec4 data;
 
 /* these are the same for all vertices
  * and does not need interpolation */
+flat out vec3 edgesCrease;
+flat out vec3 edgesBweight;
 flat out ivec3 flag;
 flat out vec4 faceColor;
 flat out int clipCase;
+#ifdef VERTEX_SELECTION
+smooth out vec3 vertexColor;
+#endif
 
 /* See fragment shader */
 noperspective out vec4 eData1;
@@ -30,6 +35,8 @@ vec2 proj(vec4 pos)
 void main()
 {
 	clipCase = 0;
+	edgesCrease = vec3(0.0);
+	edgesBweight = vec3(0.0);
 
 	vec4 pPos = ModelViewProjectionMatrix * vec4(pos, 1.0);




More information about the Bf-blender-cvs mailing list