Проблема рисования прямоугольника в фрагментном шейдере Годо - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть фрагментный шейдер, который рисует некоторые вещи. Кроме того, я хочу нарисовать прямоугольник толщиной 1 пиксель вокруг фрагмента. Я использую пошаговую функцию, но проблема в том, что координаты UV находятся в диапазоне от 0,0 до 1,0. Как узнать, когда фрагмент находится в определенном пикселе? Для этого я хочу нарисовать по краям.

c.r = step(0.99, UV.x); c.r += step(0.99, 1.0-UV.x); c.r += step(0.99, UV.y); c.r += step(0.99, 1.0-UV.y);

Приведенный выше код просто рисует прямоугольник, но проблема с толщиной составляет 0,01% от общей ширины / высоты. Есть ли хорошее описание UX, FRAGCOORD, SCREEN_TEXTURE и SCREEN_UV?

...