2012-02-29 11 views

Odpowiedz

12

Moduł cieniujący ma wbudowaną wartość o nazwie gl_FragCoord, która podaje współrzędne pikseli fragmentu docelowego. Musisz podzielić to przez szerokość i wysokość widoku, aby uzyskać współrzędne tekstury dla wyszukiwania. Oto krótki przykład:

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

Pełną przykład pracy, spróbuj tego w przeglądarkę obsługującą WebGL:

http://glslsandbox.com/e#375.15

+0

Nie mogę uwierzyć, że to było takie proste, dzięki dużo @emackey , Próbowałem to zrobić od wielu dni. –