Введение в программирование трехмерных игр с DX9

       

Знакомство с пиксельными шейдерами


Пиксельный шейдер (pixel shader) — это программа, выполняемая процессором видеокарты во время процесса растеризации для каждого пикселя. (В отличие от вершинных шейдеров, Direct3D не может программно эмулировать пиксельные шейдеры.) Пиксельные шейдеры заменяют этап мультитекстурирования в фиксированном конвейере функций и предоставляют нам возможность непосредственно управлять отдельными пикселями и получить доступ к текстурным координатам для каждого пикселя. Прямой доступ к пикселям и координатам текстуры позволяет нам реализовать множество специальных эффектов, таких как мультитекстурирование, попиксельное освещение, глубина резкости, моделирование облаков, имитация огня и сложные способы затенения.

Вы можете проверить, какую версию пиксельных шейдеров использует установленная видеокарта, с помощью члена PixelShaderVersion структуры D3DCAPS9 и макроса D3DPS_VERSION. Эта проверка показана в приведенном ниже фрагменте кода:

// Если поддерживаемая устройством версия меньше 2.0 if(caps.PixelShaderVersion < D3DPS_VERSION(2, 0)) // Значит пиксельные шейдеры версии 2.0 устройство не поддерживает

Цели

  • Получить базовое представление о концепции мультитекстурирования.
  • Узнать как написать, создать и использовать пиксельный шейдер.
  • Узнать реализовать мультитекстурирование с помощью пиксельного шейдера.



Содержание раздела