2

私は、かなり広く使用されている効果を glsl でエミュレートすることに取り組んでいます (画像の例)。私は glsl を初めて使用しますが、max msp とジッターでかなりの経験があるため、それを実装しようとしています (構文は十分に似ているはずですが、glsl バージョン 2.1 です)。

現在、1 つのテクスチャを取り込み、出力を 2 番目のテクスチャとしてフィードバックしています。輝度しきい値を使用して、並べ替えるピクセルを選択していますが、ここから続行する方法がわかりません。私は次のことが必要だと思います:

  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;
            }
        }
4

1 に答える 1