7
私のシーンには3Dオブジェクトがあり、このオブジェクトのフラグメントシェーダは画面のサイズと同じサイズのテクスチャを受け取ります。私は、現在の断片から座標を取得し、同じ位置にある画像の色情報を探したいと思います。これは可能ですか?誰かが私に正しい方向を向けることができますか?GLSLを使用してsampler2Dから特定の座標のピクセルカラーを見つける
私のシーンには3Dオブジェクトがあり、このオブジェクトのフラグメントシェーダは画面のサイズと同じサイズのテクスチャを受け取ります。私は、現在の断片から座標を取得し、同じ位置にある画像の色情報を探したいと思います。これは可能ですか?誰かが私に正しい方向を向けることができますか?GLSLを使用してsampler2Dから特定の座標のピクセルカラーを見つける
フラグメントシェーダには、ターゲットフラグメントのピクセル座標を供給するgl_FragCoordという組み込みの値があります。ルックアップのためにテクスチャ座標を取得するには、これをビューポートの幅と高さで分割する必要があります。ここでは簡単な例です:
uniform vec2 resolution;
uniform sampler2D backbuffer;
void main(void) {
vec2 position = (gl_FragCoord.xy/resolution.xy);
vec4 color = texture2D(backbuffer, position);
// ... do something with it ...
}
完全な作業例については、WebGLの対応ブラウザでこれを試してみてください。
が、私はそれがとても簡単だった信じることができない、おかげでたくさんの@emackey私はこれを何日もやろうとしていました。 –