На відміну від вершинних шейдерів, які працюють на одній вершині, вхідні дані геометричного шейдера є вершинами для повного примітиву (три вершини для трикутників, дві вершини для ліній або одна вершина для точки). Етап Geometry Shader (GS) здатний виводити кілька вершин, які утворюють єдину вибрану топологію. 20 жовтня 2022 р.
Етап Geometry Shader (GS). обробляє цілі примітиви: трикутники, лінії та точки разом із їхніми суміжними вершинами. Це корисно для таких алгоритмів, як розширення точки спрайту, динамічні системи частинок і генерація тіньового об’єму. Він підтримує підсилення та деампліфікацію геометрії.
Геометричний шейдер унікальний, оскільки його можна запрограмувати для виконання деяких завдань, які ані вершинний шейдер (VS), ані піксельний шейдер (PS) не можуть ефективно виконати. Ця можливість дозволяє виконувати новий клас товарних алгоритмів на GPU.
Сітчастий шейдер проти шейдера Geometry: На відміну від шейдера геометричної форми, який може використовувати лише фіксовану топологію виводу «смуги», сітчастий шейдер може вільно визначати будь-яку топологію. Ви можете думати про це так, ніби сітчастий шейдер створює невеликий індексований список трикутників.
Використовується вершинний шейдер для перетворення атрибутів вершин (точок трикутника), таких як колір, текстура, положення та напрямок, із вихідного простору кольорів у простір відображення. Це дозволяє будь-яким чином спотворювати або змінювати форму оригінальних об’єктів.
Геометричний шейдер може виводити максимум 1024 32-розрядних значень. Цей максимум включає розмір вхідних даних і розмір даних, створених шейдером.