1uniform half4 colorWhite; 2 3noinline bool IsEqual(half4 x, half4 y) { 4 return x == y; 5} 6 7half4 main(float2 coords) { 8 half4 colorBlue = colorWhite.00ba, 9 colorGreen = colorWhite.0g0a, 10 colorRed = colorWhite.r00a; 11 half4 result; 12 result = !IsEqual(colorWhite, colorBlue) // takes true side 13 ? ( IsEqual(colorGreen, colorRed) ? colorRed : colorGreen) // takes false side 14 : (!IsEqual(colorRed, colorGreen) ? colorBlue : colorWhite); // not taken 15 16 return IsEqual(colorRed, colorBlue ) ? colorWhite : 17 !IsEqual(colorRed, colorGreen) ? result : // is taken 18 IsEqual(colorRed, colorWhite) ? colorBlue : 19 colorRed; 20} 21