色の値をテストして、0.5 より大きい場合は変更しようとしています。
私はコンパイルされなかったこのテストから始めました:
if(colourIn.b > 0.5){
colourIn.b=0.0;
}
ここの投稿を読んだところ、関係演算子がスカラー整数およびスカラー浮動小数点式でのみ機能することを説明するこの投稿を見つけました。
そのため、フラグ値を効率的にテストし、組み込み関数を使用する良い方法を見つけた後、次のように変更しました。
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関数が間違って使用されていることがわかりましたか? (同様の状況で例を見つけることができません) colorIn の値を変更できないということですか?
私は間違っているかもしれません...これを理解するのを手伝ってください。
基本的に、青の値が 0.5 より大きいピクセルを白 (0.0) に変更したいと考えています。