All pastes #795129 Raw Edit

Etwas

public text v1 · immutable
#795129 ·published 2007-11-23 21:00 UTC
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];