2013年8月28日 星期三

[GLSL] 入門-4 翻轉影像

uniform sampler2D tex;
uniform vec2 flip;

void main(void){

 vec3 color=texture2D(tex,abs(flip-gl_TexCoord[0].xy)).rgb;
        //透過外部輸入的2維flip變數,重新排列影像pixel的順序。

 color += gl_TexCoord[0].x>0.99 ? 1.0:0.0;//右邊界畫白線
 color += gl_TexCoord[0].x<0.01 ? 1.0:0.0;//左邊界畫白線
 color += gl_TexCoord[0].y>0.985 ? 1.0:0.0;//上邊界畫白線
 color += gl_TexCoord[0].y<0.015 ? 1.0:0.0;//下邊界畫白線

   gl_FragColor=vec4(color,1.0);
}
這是一個翻轉影像的簡單練習,而gl_TexCoord[0].xy這材質座標,是用來讀取外部材質的索引依據(2維的陣列)
download