В предыдущих частях мы работали с фрагментным (fragment) шейдером, который позволял нам производить манипуляции с пикселями.
В этой статье рассмотрим вершинный (vertex) шеидер. Как видно из названия — он отрабатывает позиции вертексов.
В 3D это точки по которым строится вся модель. В 2D , если брать просто спрайт , это будет 4 точки по которым строится виртуальный полигон : А если рассматривать 2D полигон, то там вертексы мы ставим сами: Соответственно вся работа проходит в функции vertex() Чтобы произвести манипуляции обращаемся к VERTEX. Как вы можете заметить, мы накинули к координатам вертексов 32 пикселя по оси Х , и вся картинка уехала вправо.
Обратите внимание, изображение не обрезается как в случае с фрагментным шеидером. Достучаться до определенного вертекса напрямую тут нельзя.
Но мы можем находить необходимые нам вертексы по координатам. К примеру сдвинем вертексы находящиеся в левой части спрайта. Координаты локальные. Ну и конечно же вы можете совмещать фрагмент и вертекс