1uniform half4 colorWhite; 2 3half4 ifElseTest(half4 colorBlue, half4 colorGreen, half4 colorRed) { 4 half4 result = half4(0); 5 if (colorWhite != colorBlue) { // TRUE 6 if (colorGreen == colorRed) { // FALSE 7 result = colorRed; 8 } else { 9 result = colorGreen; 10 } 11 } else { 12 if (colorRed != colorGreen) { // TRUE, but in a false branch 13 result = colorBlue; 14 } else { // FALSE, and in a false branch 15 result = colorWhite; 16 } 17 } 18 if (colorRed == colorBlue) { // FALSE 19 return colorWhite; 20 } 21 if (colorRed != colorGreen) { // TRUE 22 return result; 23 } 24 if (colorRed == colorWhite) { // FALSE 25 return colorBlue; 26 } 27 return colorRed; 28} 29 30half4 main(float2) { 31 return ifElseTest(colorWhite.00b1, colorWhite.0g01, colorWhite.r001); 32} 33