oops, left out type in decl
if (bIsSideQuad) { vA2 *= (iAbsSide == 0 ? vScaleXY.x : vScaleXY.y); vB2 *= (iAbsSide == 0 ? vScaleXY.y : vScaleXY.x); }
p0 = vCen + (vA + vB - vC); // vCen + vA is center of face when vScaleXY is 1.0
vNout = cross( vB2, 0.5*(vA-vA2) - vC );
float3 vNout = cross( vB2, 0.5*(vA-vA2) - vC );
#ifdef LEFT_HAND_COORDINATES
vNout = -vNout;