[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