Перевернуть вверх ногами вершинный шейдер (GLES) - PullRequest
9 голосов
/ 25 марта 2012

С учетом следующего вершинного шейдера, какой самый простой, эффективный и быстрый способ перевернуть координаты вверх ногами, чтобы фрагментный шейдер создавал и перевернутое изображение?

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

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

1 Ответ

15 голосов
/ 25 марта 2012

Просто переверните v_texcoord. Так, например,

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

Или, я думаю:

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

В зависимости от того, что именно вы хотите случиться с диапазоном .t.

...