2012-02-29 3 views

risposta

12

Lo shader di frammenti ha un valore incorporato denominato gl_FragCoord che fornisce le coordinate pixel del frammento di destinazione. È necessario dividerlo in base alla larghezza e all'altezza della finestra per ottenere le coordinate della trama per la ricerca. Ecco un breve esempio:

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 ... 
} 

Per un esempio di lavoro completo, provate questo in un browser WebGL-grado:

http://glslsandbox.com/e#375.15

+0

Non riesco a credere che fosse così semplice, grazie un sacco @emackey , Ho cercato di farlo per giorni –