Фрагментный шейдер имеет встроенное значение 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:
http://glslsandbox.com/e#375.15