我正在尝试测试颜色值并在它们大于 0.5 时更改它们。
我从这个没有编译的测试开始:
if(colourIn.b > 0.5){
colourIn.b=0.0;
}
我在这里阅读了一些文章,发现这篇文章解释了关系运算符仅适用于标量整数和标量浮点表达式。
因此,在找到了一种有效测试 frag 值并使用内置函数的好方法后,将其更改为:
float mixValue = clamp(ceil(colourIn.b * 2.0) - 1.0, 0.0, 1.0);
if(greaterThan(colourIn.b,0.5)){
colourIn.b = mix(colourIn.b, 0.0, mixValue);}
不幸的是,它仍然无法编译;它给出了以下错误:
ERROR: 0:15 error(202) No matching overloaded function found greaterThan
ERROR: 0:16 error(164) 1-value required assigned "colourIn" (can't modify an input)
ERROR: 0:15 error(179) Boolean expression expected
为此,我知道 greatThan 函数被错误地使用了?(我在类似情况下找不到示例)并且无法更改 colourIn 值?
我可能是错的......请帮我解决这个问题。
基本上,我想将任何蓝色值大于 0.5 的像素更改为白色 (0.0)。