Шейдер (shader)
Шейдер (Shader) - програма для процесора графічної карти (GPU), що управляє поведінкою шейдерной стадії графічного конвеєра і займається обробкою відповідних вхідних даних.
Типи шейдеров:- Верховий шейдер (або верхова програма в OpenGL) - програма для верхової шейдерной стадії конвеєра, обробна вершинні дані. Верховий шейдер може описувати, наприклад, трансформацію вершин з об'єктного простору в простір камери. Верховий шейдер виконується окремо для кожної вершини.
- Піксельний шейдер (або фрагментного програма в OpenGL) - програма для піксельної шейдерной стадії конвеєра. Піксельний шейдер виконується для кожного фрагмента растеризувати геометрії. Зазвичай піксельний шейдер займається закраской геометричного об'єкта - накладення текстур, освітлення, і накладення різних текстур ефектів, таких як відображення, заломлення, туман, Bump Mapping та ін. Піксельні шейдери також використовуються для пост-ефектів.
- Геометричний шейдер - шейдерниє програми, що виконуються в конвеєрної стадії геометричного шейдера. Геометричний шейдер працює з вершинними даними, але виконується відразу для елемента геометрії, наприклад, для трикутника, тобто на вхід подаються три вершини. Крім цих трьох вершин, можливе використання допоміжних вершин (т.зв. adjacent vertices). Геометричні шейдери здатні створювати нову геометрію, можуть використовуватися для створення частинок, зміни деталізації моделі «на льоту», створення силуетів і т.д.
Спочатку шейдери можна було писати на АСМ-подібному мовою, пізніше з'явилися шейдерниє мови високого рівня, такі як: Cg, GLSL і HLSL. Синтаксис шейдерной програми дуже схожий на синтаксис мови C.
Для зручності програмування шейдеров на мовах високого рівня, можна використовувати спеціальні інструментарії: FX Composer (розроблена корпорацією NVIDIA), RenderMonkey (розроблена ATI) і ін.
Статті по шейдерам:
Що таке Шейдер (Shader)?