Шейдеры. Что и как

Говоря общими словами, шейдер — это просто программа для графической карты. То есть то, что пишется школьниками на паскале (хипстерами на пайтоне) — это программы для вашего центрального процессора (CPU), а шейдеры — для графического (GPU). Особенность же этих программ выходит из особенностей GPU — они работают параллельно на сотнях маленьких ядех…

GPU-ядрышки резвятся на фоне серьезного CPU
131131

фрагмент может на самом деле чуть-чуть залезать на соседние пикселиЭта фраза вынесла мозг даже мне.

Фрагментами они называются от того, что являются результатом работы растеризатора, который выдает именно что фрагменты (набор аттрибутов), из которых потом фрагментный шейдер посчитает и запишет в рендер таргет цвет.  А как оно потом натянется на экран и станет пикселями - это уже отдельная история.

Не смешивайте эти 2 понятия пожалуйста.

шейдер (или группа шейдеров по очереди) занимается переводом координат относительно объекта, в координаты на текстуре.Начал было возмущенно писать, но вы чуть ниже исправились и упомянули что все же Clip Space ;)

Этим занимается графическая библиотека и движок, самостоятельно интерполируя точки из вершин.Стоило вас похвалить - и на тебе. Какая библиотека? Какой движок?  Этим занимается texture sampler прямо на GPU.

пиксельном шейдере можно получить информацию о теняхЛучше бы вы это не писали, а то большая часть народу подумает что есть некая встроенная функция просчета теней на GPU :)

А вообще инфа ну просто капец как поверхностно подана - те кто не в теме все равно ничего не поймут, а те кто в теме будут бугуртить (как это делаю я, ага )) )

26

Спасибо за содержательную критику. Я постарался исправить статью, чтобы чуть она была более технически точной. Про интерполяцию UV — я хотел объяснить, что это делается «за шторой», но немного перестарался :)

Те, кто не в теме, надеюсь все-таки что-то поймут 

5

Комментарий недоступен

1

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

1

Милейший, а где Вы изучали вышеизложенную теорию?