Перевернуть вверх ногами вершинный шейдер (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
,