26. Организация шейдеров
Ше́йдер - это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки. Программируемые шейдеры гибки и эффективны. Сложные с виду поверхности могут быть визуализированы при помощи простых геометрических форм. Например, шейдеры могут быть использованы для рисования поверхности из трёхмерной керамической плитки на абсолютно плоской поверхности.
В настоящее время шейдеры делятся на три типа: вершинные, геометрические и фрагментные (пиксельные).
Вершинные шейдеры (Vertex Shader)
Вершинный шейдер оперирует данными, сопоставленными с вершинами многогранников. К таким данным, в частности, относятся координаты вершины в пространстве, текстурные координаты, тангенс-вектор, вектор бинормали, вектор нормали. Вершинный шейдер может быть использован для видового и перспективного преобразования вершин, генерации текстурных координат, расчета освещения и т. д.
Геометрические шейдеры (Geometry Shader)
Геометрический шейдер, в отличие от вершинного, способен обработать не только одну вершину, но и целый примитив. Это может быть отрезок (две вершины) и треугольник (три вершины), а при наличии информации о смежных вершинах может быть обработано до шести вершин для треугольного примитива. Кроме того геометрический шейдер способен генерировать примитивы «на лету», не задействуя при этом центральный процессор. Впервые начал использоваться на видеокартах Nvidia серии 8.
Пиксельные шейдеры (Pixel Shader)
Фрагментный шейдер работает с фрагментами изображения. Под фрагментом изображения в данном случае понимается пиксель, которому поставлен в соответствие некоторый набор атрибутов, таких как цвет, глубина, текстурные координаты. Фрагментный шейдер используется на последней стадии графического конвейера для формирования фрагмента изображения.
- «Компьютерная графика»
- 1. Графический процессор. Структура графического процессора g80
- 2. Цифровой сигнальный процессор
- 3. Особенности архитектуры
- 4. Устройство цсп
- 5. Классификация цсп по архитектуре
- 6. Кластеры процессоров цифровой обработки
- 7. Аппаратно-программный комплекс vliw
- 9. Компоненты графической системы Windows
- 10. Компоненты режима ядра
- 11. Архитектура графической системы Windows (gdi)
- 12. Архитектура directx
- 13. Архитектура directdraw
- 14. Архитектура системы печати
- 15. Ве́кторная гра́фика
- 16. Растровое изображение
- 17. Цветовая модель rgb
- 18. Цветовая модель cmyk
- 19. Цветовая модель hsv и hsl
- 20. Цифровая обработка сигналов
- 21. Преобразования Фурье
- 22. Основы opengl
- 23. Графический конвейер OpenGl
- 24. Организация OpenGl. Сопутствующие api
- 25. Архитектура Windows Presentation Foundation
- 26. Организация шейдеров
- 27. Игровой движок
- 28. Графический движок
- 29. Воксел. Доксел
- 30. Спрайт
- 32. Графический ускоритель Intel gma
- 33. Графическое ядро Core i5
- 34. Целочисленный алгоритм Брезенхема
- 35. Алгоритм Брезенхема для генерации окружности
- 36. Буферы кадра
- 37. Точки и линии. Преобразование точек и линий
- 38. Полярная и декартовая система координат
- 39. Трехмерные преобразования
- 40. Трехмерный сдвиг. Трехмерные вращения.
- 41. Закраска Гуро
- 42. Закраска Фонга