Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Компьютеры -> Видео -> Разбираемся с шейдерами...


Разбираемся с шейдерами...

Анализируя сложившуюся ситуацию на рынке видеокарт, нельзя не отметить некую "гонку технологий", выражающуюся в непрерывном выпуске новых плат, подводящих всю линейку под определенные стандарты. На данный момент "чекпоинтом" де-факто служит последний мультимедийно-ориентированный API от Microsoft - DirectX 9, для полной аппаратной поддержки которого по спецификациям требуется имплементация Пиксельных шейдеров версии 2.0 и выше, а также Вершинных 2.0. Аппетиты последнего в полной мере удовлетворяют лишь последние линейки графических чипов ATI и NVIDIA, R3xx и NVxx (кодовые названия GPU/VPU).

Но что же такое шейдеры? Оправданны ли громогласные надписи вроде "100% DirectX 9.0 support!", кричащие со стильных упаковок карточек? : Вносят ли они реальный вклад в качество сцены? Данной тематике и будет посвящена сегодняшняя статья.

Краткий экскурс в историю

В свое время выход NVIDIA GeForce 3 произвел настоящий фурор. Поддерживая аппаратное ускорение вершинных (Vertex) и пиксельных (Pixel) шейдеров, он полностью развязывал руки разработчикам трехмерный приложений, в доминирующей степени игр: массово стал доступен просчет наикрасивейших видеоэффектов, ранее применявшихся лишь в голливудских фильмах, в реальном времени! Интересный факт - совокупности этих технологий (Pixel Shaders версии 1.1, Vertex Shaders версии 1.1) было дано неоднозначное маркетинговое название nfiniteFX , последние две буквы оного позже положат начало новой, уже совсем не такой удачной серии видеокарт.

Vertex Shader

Итак, Вертексный (Вершинный, Vertex) шейдер - это подпрограмма, иначе функция, математически оперирующая вершинами объекта. Ведь полигон - есть не что иное, как треугольник, а треугольник имеет вершины - точки, в которых сходятся две его стороны. Каждая вершина описывается целым рядом параметров, переменных, таких как координаты в трехмерном пространстве, цвет, текстура, а также характеристики накладываемого освещения. Вершинные шейдеры позволяют изменять эти переменные, не меняя самого типа данных. Примером использования подобных эффектов могут служить: клубящихся облака, туман, реалистичная анимация, мимика лица (выделение специфичных черт - морщин, ямочек), зеркальное отображение сцены.

А ведь ранее комплексные расчеты вертексных шейдеров выполнялись только на специализированных графических станциях, и в приложения включались исключительно в пре-рендеренном виде. Стоит отдать дань уважения инженерам NVIDIA, которые, следует заметить, в последнее время сильно расслабились.

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

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

Вертексные шейдеры являются стандартным элементом блока T&L



Вершинные шейдеры, наглядный пример: сцена 3DMark 2003

Pixel Shader

Пиксельные шейдеры (Pixel shader) - пожалуй, самая <лакомая> и обсуждаемая в последнее время технология. К примеру, отсутствие её аппаратной поддержки у GPU автоматически причисляет карты на его основе в нишу Low-End, вне зависимости от результирующего быстродействия: Это, впрочем, и правильно - не все же <урезать> качество в угоду скорости, в играх (Как представителях прогрессивнейших и непрерывно эволюционирующих трехмерных приложений) же следующего поколения такие жертвы неуместны вовсе.

Пиксельные шейдеры - программируемые функции, используемые для попиксельного расчет эффектов. Данный инструмент позволяет создавать среды, свойства объектов в которых поразительно точно передают реальность, позволяют ощутить материальность поверхностей. Предметы в сценах наполняются присущими ими уникальными шероховатостями, элементами отделки, для гуманоидоподобных созданий - волосы, усы, родинки: Все это опять же выходит за рамки возможностей, достижимых обыкновенными, полигональными средствами отрисовки - чего только стоит, например, попиксельная проработка освещения, игра света и тени. Их программируемость же дозволяет не ограничиваться стандартным набором предложенных эффектов, заместо того, творя нечто свое, отличное и разнообразное.

Пиксельные шейдеры не являются стандартным элементом блока T&L. Впервые доступны в API DirectX 8



Черед пиксельных шейдеров: Правдоподобность статуэтки не вызывает сомнений.



Комплексная сцена. Современные технологии во всей красе :-)

Подведение итогов

Можно объединить сделанные выше выводы в один короткий, лаконичный тезис - <Шейдерам - быть!>. Являясь удобным и гибким инструментом для программистов, позволяющим независимо управлять всеми элементами сценами, тем самым воплощая мечты в реальность, они просто обречены на успех.

Надеюсь, что я сумел дать ответ на вопрос о необходимости покупки, по крайней мере DirectX-8 совместимой видеокарты. Перспективность подобных технологий очевидно - отчего же не насладиться ими в полной мере? Грядут DooM III, Half-Life 2: приготовимся же заранее.

Дополнения и комментарии:

- При написании статьи были использованы различные материалы и технологические описания, в том числе первоисточниками которых являются ресурсы NVIDIA.RU, ATITECH.COM.

Автор: CryoMonsteR
Источник: www.guide3d.ru

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.