如何使用变量在着色器中的两个公式之间切换?

How can I use a variable to switch between two formula in a shader?

我做了一个着色器,我想让它在另一个方向上工作。由于坐标系是从 0 到 1,我需要反转函数的输出,但我无法绕过它。归结为这个“简单”的问题:

在一种情况下,我希望它是 y = 1 - x,而在另一种情况下,我希望它是 y = x。我如何使用变量 a 使得如果 a == 0 那么 y = 1 - x 或者如果 a == 1 那么 y = x?不使用分支。

如果你有 y = a * x + (1 - A) * (1 - x) 那么你可以让 A 在 0 或 1 之间切换以在 y = 1 - xy = x 之间切换。