Перевернуть вверх ногами вершинный шейдер (GLES)

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

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

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

1 ответ

Решение

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

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

Или, я думаю:

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

В зависимости от того, что именно вы хотите, чтобы произошло с диапазоном .t,

Другие вопросы по тегам