rendered paste body // find vertex codes for labels
mat4 codesA, codesB;
codesA[0].xyz = boundaryfilter_edgecodes[0];
if (labelsA.y == labelsA.x)
codesA[1] = codesA[0];
else
codesA[1].xyz = boundaryfilter_edgecodes[1];
if (labelsA.z == labelsA.x)
codesA[2] = codesA[0];
else if (labelsA.z == labelsA.y)
codesA[2] = codesA[1];
else
codesA[2].xyz = boundaryfilter_edgecodes[2];
if (labelsA.w == labelsA.x)
codesA[3] = codesA[0];
else if (labelsA.w == labelsA.y)
codesA[3] = codesA[1];
else if (labelsA.w == labelsA.z)
codesA[3] = codesA[2];
else
codesA[3].xyz = boundaryfilter_edgecodes[3];
if (labelsB.x == labelsA.x)
codesB[0] = codesA[0];
else if (labelsB.x == labelsA.y)
codesB[0] = codesA[1];
else if (labelsB.x == labelsA.z)
codesB[0] = codesA[2];
else if (labelsB.x == labelsA.w)
codesB[0] = codesA[3];
else
codesB[0].xyz = boundaryfilter_edgecodes[4];
if (labelsB.y == labelsA.x)
codesB[1] = codesA[0];
else if (labelsB.y == labelsA.y)
codesB[1] = codesA[1];
else if (labelsB.y == labelsA.z)
codesB[1] = codesA[2];
else if (labelsB.y == labelsA.w)
codesB[1] = codesA[3];
else if (labelsB.y == labelsB.x)
codesB[1] = codesB[0];
else
codesB[1].xyz = boundaryfilter_edgecodes[5];
if (labelsB.z == labelsA.x)
codesB[2] = codesA[0];
else if (labelsB.z == labelsA.y)
codesB[2] = codesA[1];
else if (labelsB.z == labelsA.z)
codesB[2] = codesA[2];
else if (labelsB.z == labelsA.w)
codesB[2] = codesA[3];
else if (labelsB.z == labelsB.x)
codesB[2] = codesB[0];
else if (labelsB.z == labelsB.y)
codesB[2] = codesB[1];
else
codesB[2].xyz = boundaryfilter_edgecodes[6];
if (labelsB.w == labelsA.x)
codesB[3] = codesA[0];
else if (labelsB.w == labelsA.y)
codesB[3] = codesA[1];
else if (labelsB.w == labelsA.z)
codesB[3] = codesA[2];
else if (labelsB.w == labelsA.w)
codesB[3] = codesA[3];
else if (labelsB.w == labelsB.x)
codesB[3] = codesB[0];
else if (labelsB.w == labelsB.y)
codesB[3] = codesB[1];
else if (labelsB.w == labelsB.z)
codesB[3] = codesB[2];
else
codesB[3].xyz = boundaryfilter_edgecodes[7];