2013-06-27 11 views

Odpowiedz

11
vec2 gl_FragCoord 

Powoduje wyświetlenie położenia fragmentu na ekranie w pikselach. Po przejściu przez uniform vec2 screenResolution można grać z tymi dwoma wartościami, aby określić, gdzie dokładnie na ekranie jest piksel, w której części i tym podobne.

Jest to wbudowana zmienna, dzięki czemu można jej używać w dowolnym miejscu w module cieniowania fragmentów.

Oto jeden z przykładów wykorzystania tylko wykazać: http://goo.gl/AG7UO

Jeśli chcesz woorld współrzędnych fragmentu, należy użyć varying zmienną.

Vertex shader:

varying vec3 vPos; 
attribute vec3 aVertexCoord; 
uniform mat4 uMVMat; 
uniform mat4 uProjMat; 

void main() { 
    vPos = uMVMat * aVertexPos; 
    gl_Position = uProjMat * vPos; 
} 

Fragment shader:

varying vec3 vPos; 
void main() { 
    // do something 
} 

Nadzieja to pomaga.