OpenGL UV ведут себя странно? - PullRequest
1 голос
/ 19 января 2020

Я пытаюсь реализовать систему для создания графических интерфейсов с OpenGL. Для некоторых приложений, таких как растровые шрифты, было бы неплохо иметь смещение для текстур, которые должны отображаться на объекте.

Так что мое смещение в вершинном шейдере выглядит так:

UV = vec2(uv.x, 1.0f - uv.y) + vec2(texOffset.x, texOffset.y);

Я проверил свое смещение, используя прямоугольник со смещением, которое я постоянно увеличиваю.

Добавление этого смещения по оси x выглядит следующим образом: https://youtu.be/z7bKgb7zcPc, что хорошо.

Использование моего смещения по оси Y выглядит следующим образом: https://youtu.be/2S_duM5JK_w это тоже хорошо.

Но теперь применяем смещение по оси X и Y выглядит так: https://youtu.be/t_aJbQwbagw, что не в порядке.

Разве это не должно двигаться так: https://youtu.be/0GzPRpIaabE?

Почему мой результат отличается от того, что я ожидаю?

1 Ответ

0 голосов
/ 19 января 2020

Итак, я нашел проблему. В OpenGL нет ошибки, проблема в том, что мое смещение неверно для оси x.

Я ожидал положительного смещения x, что текстура движется вправо. Но я забыл реализовать флип, который был необходим для этого. Но я не запомнил это , поэтому, исходя из моих ожиданий, результат был неверным, но это был только я ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...