1

色に応じて描画するテクスチャ付きの正方形のアルファを設定する方法を見つけようとしています。背景が白の赤いアラバマ A の写真を使用しています。私はそれを切り替えて赤を取り出して A を通して表示し、白を取り出して A を残すように切り替えたいと思っています。2 つのテクスチャ付きの正方形があります。1つは背景です。だから、フラグシェーダーではこれを行うことができないと思っていました。私のメインのjsファイルでは、トグルHTMLボタンをクリックしたときに「クロマキー」を赤から白に切り替えることができる必要があります。

では、色の真の点が 4 つしかない場合、ピクセルに基づいてテクスチャ付きの正方形のアルファを変更するにはどうすればよいでしょうか? または、2 が 2 回使用されている 6 ポイント (2 つの三角形)。

ちなみに、これは2次元のみです。

4

1 に答える 1

0

簡潔なバージョンでは、アルファに赤などを使用します

アルファの赤を使用

gl_FragColor = color.rgbr;

赤ではないもの (緑など) をアルファに使用する

gl_FragColor = color.rgbg;

ここで、選択する方法が必要です

uniform bool useRed;

...

gl_FragColor = vec4(color.rgb, useRed ? color.r : color.g);

または、よりクリエイティブな方法として、赤と緑をブレンドすることもできます。

uniform float mixAmount; // 0 = red, 1 = green
...
gl_FragColor = mix(color.rgbr, color.rgbg, mixAmount);
于 2015-03-30T07:58:49.487 に答える