私は、かなり広く使用されている効果を glsl でエミュレートすることに取り組んでいます (画像の例)。私は glsl を初めて使用しますが、max msp とジッターでかなりの経験があるため、それを実装しようとしています (構文は十分に似ているはずですが、glsl バージョン 2.1 です)。
現在、1 つのテクスチャを取り込み、出力を 2 番目のテクスチャとしてフィードバックしています。輝度しきい値を使用して、並べ替えるピクセルを選択していますが、ここから続行する方法がわかりません。私は次のことが必要だと思います:
- 初期の輝度選択ピクセルからカラー値を取得します。
- その色を特定の軸に沿って後続のピクセルに適用します。
そして今、私は続ける方法を理解できません。私が持っているコードを含めます。明らかに、輝度しきい値の後に何もありません。アドバイスやリソースをいただければ幸いです。
uniform sampler2DRect tex0;
uniform sampler2DRect tex1;
varying vec2 texcoord0;
varying vec2 texcoord1;
uniform float thresh;
const vec4 lumcoeff = vec4(0.299,0.587,0.114,0.0);
void main()
{
vec4 input0 = texture2DRect(tex0, texcoord0);
vec4 input1 = texture2DRect(tex1, texcoord1);
float luma = dot(input0,lumcoeff);
if(luma > thresh){
gl_FragColor
}else{
gl_FragColor = input0;
}
}