17 lines
655 B
Plaintext
17 lines
655 B
Plaintext
uniform half2x2 testMatrix2x2; // equals (1, 2, 3, 4)
|
|
uniform half4 colorGreen, colorRed;
|
|
|
|
half4 main(float2 coords) {
|
|
half4 infiniteValue = half4(testMatrix2x2) / colorGreen.r;
|
|
half4 finiteValue = half4(testMatrix2x2) / colorGreen.g;
|
|
|
|
return ( (isinf(infiniteValue.x)) &&
|
|
all(isinf(infiniteValue.xy)) &&
|
|
all(isinf(infiniteValue.xyz)) &&
|
|
all(isinf(infiniteValue.xyzw)) &&
|
|
! (isinf(finiteValue .x)) &&
|
|
!any(isinf(finiteValue .xy)) &&
|
|
!any(isinf(finiteValue .xyz)) &&
|
|
!any(isinf(finiteValue .xyzw))) ? colorGreen : colorRed;
|
|
}
|