Шейдъри Libgdx за манекени
И така, какво е шейдър? OpenGL шейдърите са малки програми, написани на C-подобен език, наречен GLSL. Тези програми се изпълняват директно на графичния процесор. Шейдърите работят по двойки: върхови шейдъри и фрагментни шейдъри.

Вертекс шейдър отговорен за извършване на операции върху върхове. Всяко изпълнение на програмата действа точно върху един връх. Ако погледнете картината на триъгълник, тя има 3 върха, така че шейдърът на върха ще бъде изпълнен 3 пъти. Вертексният шейдър ще зададе крайните позиции на върховете, като вземе предвид позицията на камерата, както и ще подготви и покаже някои от променливите, необходими за фрагментния шейдър. Когато разработвате прости шейдъри, вероятно няма да е необходимо да модифицирате вертекс шейдъра.
Фрагмент шейдър обработва всяка видима част от крайното изображение. Ще нарека всеки такъв фрагмент пиксел, въпреки че това не е съвсем правилно, тъй като пикселът в рендирането на OpenGL и в крайното изображение, което виждате на екрана, може да се различава по размер.
Вътре във фрагментния шейдър ще работим с всичко, свързано с повърхността - осветление, сенки, отражения, текстури и каквито и да е ефекти. Резултатът от фрагментния шейдър е цветът на пиксела във формат RGBA (червен, зелен, син и алфа). За повечето от ефектите ще го променим.
Да приемем, че триъгълникът е с площ 300 пиксела. Вертексният шейдър за този триъгълник ще бъде изпълнен 3 пъти. Шейдърът на фрагменти ще бъде изпълнен 300 пъти. Така че имайте това предвид, когато пишете шейдъри. Всичко направено във фрагментен шейдър ще бъде експоненциално по-скъпо. Винаги имайте това предвид, когато работите с шейдъри.
Преди да започнете със стандартните шейдъри, малко повече теория. GLSL е език, подобен на C и няма да се съсредоточавам върху основите, но има някои неща, които трябва да изясня, преди да започнем да анализираме кода.