2012-03-25 28 views
8

Với đổ bóng đỉnh tiếp theo, cách đơn giản nhất, hiệu quả nhất và nhanh nhất để lật ngược các tọa độ là gì, vì vậy trình đổ bóng phân đoạn sẽ tạo ra và lật ngược hình ảnh?Flip upside down vertex shader (GLES)

attribute vec4 a_position; 
attribute vec2 a_texcoord;             
varying vec2 v_texcoord; 

void main() 
{ 
    v_texcoord = a_texcoord.st; 
    gl_Position = a_position; 
} 
+0

Tọa độ vị trí đỉnh hoặc tọa độ kết cấu? Ngoài ra, nó sẽ không có ý nghĩa hơn để đặt này vào biến đổi bạn sử dụng cho những vị trí (giả sử rằng bạn có ý định làm một số chuyển đổi). –

Trả lời

13

Chỉ cần lật v_texcoord. Vì vậy, ví dụ:

v_texcoord = a_texcoord.st * vec2(1.0, -1.0); 

Hoặc, tôi đoán:

v_texcoord = vec2(a_texcoord.s, 1.0 - a_texcoord.t); 

Tùy thuộc vào những gì chính xác bạn muốn xảy ra với hàng loạt các .t.

+2

Tuyệt vời! Sử dụng "vec2 (a_texcoord.s, 1.0 - a_texcoord.t)" và hoạt động hoàn hảo. – PerracoLabs

+1

v_texcoord = vec2 (a_texcoord.s, 1.0 - a_texcoord.t); - giải pháp dễ dàng và làm đẹp, cảm ơn – gbk