Edit Mode Engine: Fix shader compilation on AMD. Also fix Bweight display.
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user