Він також може передавати дані фрагментному шейдеру. Фрагментний шейдер – програма, яка працює на GPU для кожного фрагмента (пікселя) між нашими вершинами.
Вершиний шейдер програми шейдера запускається один раз для кожної вершини, поки виконується її фрагментний шейдер один раз для кожного пікселя. Зазвичай пікселів на порядок більше, ніж вершин, тому найкраще обчислювати якомога більше у вершинному шейдері та використовувати результати у фрагментному шейдері.
Фрагментний шейдер — це етап шейдера, який буде обробити фрагмент, створений за допомогою растеризації, у набір кольорів і одне значення глибини. Фрагментний шейдер — це етап конвеєра OpenGL після растеризації примітиву. Для кожного зразка пікселів, охоплених примітивом, генерується «фрагмент».
Піксельні шейдери, також відомі як фрагментні шейдери, обчислюють колір та інші атрибути кожного «фрагмента»: одиниці роботи рендерингу, яка впливає щонайбільше на один вихідний піксель. Найпростіші типи піксельних шейдерів виводять один екранний піксель як значення кольору; також можливі складніші шейдери з кількома входами/виходами.
Різниця між вершинними і фрагментними шейдерами полягає в тому процес, розроблений у конвеєрі візуалізації. Вершинні шейдери можна визначити як шейдерні програми, які змінюють геометрію сцени та роблять 3D-проекцію. Фрагментні шейдери пов’язані з вікном візуалізації та визначають колір для кожного пікселя.