Современная терминология 3D графики - Pixel Shader (Пиксельный Шейдер)

 

Pixel Shader (Пиксельный Шейдер)

Пиксельные шейдеры - это программы, выполняемые видеочипом во время растеризации для каждого пикселя изображения, они производят выборку из текстур и/или математические операции над цветом и значением глубины (Z-buffer) пикселей. Все инструкции пиксельного шейдера выполняются попиксельно, после того, как операции с трансформированием и освещением геометрии завершены. Пиксельный шейдер в итоге своей работы выдает конечное значение цвета пикселя и Z-значение для последующего этапа графического конвейера, блендинга. Наиболее простой пример пиксельного шейдера, который можно привести: банальное мультитекстурирование, просто смешение двух текстур (diffuse и lightmap, например) и наложение результата вычисления на пиксель.

До появления видеочипов с аппаратной поддержкой пиксельных шейдеров, у разработчиков были лишь возможности по обычному мультитекстурированию и альфа-блендингу, что существенно ограничивало возможности по многим визуальным эффектам и не позволяло делать многое из того, что сейчас доступно. И если с геометрией еще что-то можно было делать программно, то с пикселями - нет. Ранние версии DirectX (до 7.0 включительно) всегда выполняли все расчеты повершинно и предлагали крайне ограниченную функциональность по попиксельному освещению (вспоминаем EMBM - environment bump mapping и DOT3) в последних версиях. Пиксельные шейдеры сделали возможным освещение любых поверхностей попиксельно, используя запрограммированные разработчиками материалы. Появившиеся в NV20 пиксельные шейдеры версии 1.1 (в понимании DirectX) уже могли не только делать мультитекстурирование, но и многое другое, хотя большинство игр, использующих SM1, просто использовали традиционное мультитекстурирование на большинстве поверхностей, выполняя более сложные пиксельные шейдеры лишь на части поверхностей, для создания разнообразных спецэффектов (все знают, что вода до сих пор является наиболее частым примером использования пиксельных шейдеров в играх). Сейчас, после появления SM3 и поддерживающих их видеочипов, возможности пиксельных шейдеров доросли уже до того, чтобы с их помощью делать даже трассировку лучей (raytracing), пусть пока с некоторыми ограничениями.

Примеры применения пиксельных шейдеров:

    • Мультитекстурирование. Несколько слоев текстур (colormap, detailmap, lightmap и т.д.). Используется вообще во всех играх.
      Half-Life 2   Serious Sam 2
    • Попиксельное освещение. Bump mapping. Normal mapping. С недавних пор применяется практически везде.
      TES4   Far Cry
    • Постобработка кадра. Все эти эффекты Bloom, Depth of Field и Motion Blur...
      F.E.A.R.   TRON 2.0
    • Процедурные текстуры, такие, как текстура дерева или мрамора. Примеры:
      Lightwave   3DMark 03

 






DVD Russian VJ's Vol 2

russian vj Человек не может жить без музыки. И в то же время музыка становится только началом некой цепочки, к которой тянутся люди в свободные часы и во время самых радостных праздников.

Музыка рождает танец, движение вслед за мелодией, вместе с ритмом, способное надолго придать отличное настроение эмоциональный подъем.

Есть и другое направление – к музыке добавляется изображение, уже чужое движение, за которым человек следит, сопереживая.

подробнее

DVD Russian VJ's vol 1

russian vj  Вы когда-нибудь задумывались о том, что за странные и, в то же время завораживающие, картинки двигаются на экранах в клубе на уютной вечеринке или на многотысячном фестивале, на краю земли?

Откуда берутся эти фрагменты? Почему очень сложно описать словами то, что находится перед глазами всю ночь?

Кто следит за тем, чтобы ваши глаза впитывали музыку с экранов?

подробнее

Яндекс.Метрика Copyright by www.Malbred.com 2005