что значит тонирование шейдеров

Что значит тонирование шейдеров

Сообщения: 946
Откуда: Удалено

Репутация: 0

Call of Duty: Black Ops

что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров

Дата выхода игры: 9 ноября 2010 г
Издатель: 1С-СофтКлаб
Разработчик: Treyarch
Официальный сайт игры

Cистемные требования:
• Операционная система Windows XP/Vista/Windows 7
• Процессор Intel Core Duo E6600/Phenom X3 8750
• Память 2 Гб
• Место на жестком диск 12 Гб
• Видеокарта уровня GeForce 8600GT/Radeon X1950 Pro с памятью 256 Мб и с поддержкой Shader 3.0
• Соединение с Интернет

Описание:
Call of Duty: Black Ops — долгожданная седьмая часть Call of Duty. Каждая игра этой серии способствовала развитию жанра шутеров, и Black Ops не стала исключением. Игроков ждут динамичная однопользовательская кампания, повествующая о событиях времен холодной войны, и разнообразные многопользовательские режимы, среди которых появилось несколько совершенно новых.

Скриншоты:
что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров

Последний раз редактировалось d3ot 10:02 04.02.2012, всего редактировалось 1 раз.

Сообщения: 621
Откуда: Рязань

Репутация: 0

Сообщения: 204
Откуда: РЯЗАНЬ

Репутация: 0

Сообщения: 6256
Откуда: Москва

Репутация: 0

Сообщения: 584
Откуда: Львов

Репутация: 0

bartx2, В оригинале эта опция называется «shader warming» (прогрев шейдеров). Это означает, что при загрузке уровня шейдеры кешируются/компилируются принудительно. За счёт этого меньше фризов в процессе игры на карте, т. к. при выключенной опции это происходит «на лету», методом ленивой инициализации.

Плюс — меньше фризов.
Минус — уровень грузится чуть дольше.

Смешно, как безграмотные рассейские лохализаторы обозвали эту опцию «тонированием». Наверное думали, что это имеет какое-то отношение к «тёплым тонам» или ХЗ что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеровчто значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров

ПС. кстати, этой опции изначально не было, и она появилась недавно, в одном из патчей.

Сообщения: 6256
Откуда: Москва

Репутация: 0

zhe
Огромное спасибо за разъяснение, это опция я так думаю сделана для слабых машин, так как я включал ее отключал и кроме большей загруки карт не чего не замечал, то есть фризов не было.

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

Последний раз редактировалось d3ot 12:42 21.01.2011, всего редактировалось 1 раз.
Doubleposting!

Сообщения: 5
Откуда: Самарская обл.

Репутация: 0

bartx2

Как в главном меню встать со стула?
Удерживать пробел
И еще в зомби режиме есть какой нить конец?
Конца нет, волны бесконечные
И как открыть последнюю 3 мапу для зомби?
Когда встанешь с кресла, иди вокруг мониторов к компу, введите код DOA и жми enter.
Только это не мапа, а мини-игра Дохлые Герои, аркада с видом «сверху»

Сообщения: 22
Откуда: Ru-board

Репутация: 0

Конфига позволяет, предыдущая часть пройдена не раз. на максимальных настройках.

AM 3 Asus Crosshair Formula 4
AMD 3.4 GHz Core 6 1090T Black Edition
1280 Mb Asus GF GTX470
1333 DDR 3 Kingston 2*2giga
24 Benq LCD HDMI monitor

есть еще вариант попробовать видяху ATI Radeon HD5830, но тут, видимо, не видяхе дело.

ЗЫ: Добавлю, что ставил антистим. И грузился соответствено с антистима, поскоку задралдо каждую игру с регой на стимке грузить на комп по 5-7 часов. Бред собачий, в кровавое мясо этих капиталистов расстрелять. за этот с****й СТИМ.

Сообщения: 2195
Откуда: ниоткуда

Репутация: 9

nerd76
Если выскакивает ошибка DirectX, то для начала надо установаить нормальную его версию, скачав ее с официального сайта.

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

Про свежие драйвера тоже не стоит забывать.

Сообщения: 22
Откуда: Ru-board

Репутация: 0

Цитата: установаить нормальную его версию

Цитата: И потом, зачем антистим, если можно поставить игру с диска и активировать в стим?
Тем более в стиме автоматом накатятся все обновления.

Цитата: с антистима, поскоку задралдо каждую игру с регой на стимке грузить на комп по 5-7 часов.

Сообщения: 2195
Откуда: ниоткуда

Репутация: 9

1. Подключитесь к Интернету. Это может быть dial-up подключение (модем), выделенная линия, ADSL и так далее. Подключения через GPRS-модемы, беспроводные сети, а также подключения через прокси/роутеры/… могут вызвать различные проблемы, вплоть до полной невозможности запуска Steam. Подробнее смотрите на официальном сайте Steam FAQ ( http://www.steampowered.com/v/index.php ).

2. Вставьте диск. Запустится установка Steam. Если установка не запустилась, открыть «Мой компьютер», затем найти там привод, в который установлен диск с игрой, кликнуть по нему правой кнопкой и нажать «Автозапуск».

3. Нажимайте далее, далее, далее, пока Steam не установится. Попутно вы можете выбрать место для установки (Игры будут установлены туда же, куда установлен сам steam ) и т.п. Чтобы согласиться с лицензионным соглашением, нужно пролистать его до конца, тогда галочка «Я согласен…» станет активной.

4. После установки Steam либо запустится сам, либо вы его запустите. Он будет некоторое время обновлять свои файлы. Если обновление надолго «зависло», лучше обратиться к администратору вашей сети либо провайдеру Интернета, т.к. это связано именно с вашим подключением (см. пункт 1).

5. После обновления Steam запустится и предложит вам либо создать аккаунт (учетную запись), либо использовать уже имеющийся. Отвечайте на вопросы мастера создания аккаунта, там все предельно просто. Внимание — «пароль» вам нужно придумать самостоятельно, и ключ, наклееный на коробку вашего диска, никакого отношения к нему не имеет. Он вам понадобится дальше. Настоятельно рекомендуется указать правильный ответ на секретный вопрос, т. к. если вы забудете свой пароль, то, не помня ответа на секретный вопрос, вы не сможете восстановить пароль и играть в купленные вами игры.

6. Затем заходите в систему Steam под своим аккаунтом (введите логин и пароль).

7. Ещё раз запустите Автозапуск диска, ещё раз нажмите пункт установка.

8. Steam предложит ввести ключ. Ключ написан на бумажке, вклеенной в коробку. Во время активации ключа должен быть вставлен диск. Когда ключ активируется, все связанные с ним игры появятся в списке «мои игры» в Steam.

9. Дождитесь окончания установки и не отключайте компьютер от интернета, иначе steam попытается скачать всю игру целиком.

10. Чтобы запустить игру, необходимо обновить ее до 100%. Это займет некоторое время, особенно если у вас медленное подключение. Подробнее смотрите в соответствующем разделе этого FAQ.

Вставьте диск, нажимите установить с автозапуска диска, дождитесь окончания установки, дождитесь окончания обновления.

Тут еще поисковик что выдал что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров
Как установить cod black ops через steam?

Цитата: Вопрос: Лицензия, джевел. Ввел код в стиме и он начал качать ее из сети, как поставить с диска.

Ответ:
Актуальный вопрос ))
Такая же история, только у меня написано будет скачана через 8 часов ))

На шел в инете :
Делюсь с вами всеми примудрастями.
Чтобы игра устанавливалась с диска, а не скачивалась с интернета, как у меня ранее, делаем следущее:
После активизации ключа, когда пройдет создание локального кеша и начнется загрузка обновления. Обрываем установку, выходим из СТИМа. Запускаем DVD 1. Нажимаем «переустановка»

Сообщения: 22
Откуда: Ru-board

Репутация: 0

student
Если често, то Стим — это конкретный гол-л-л-ловняк что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров, ставил уж несколько игр ( 5, если быть точным ). И ни одна активация и установка не прошла гладко или по накатанной колее. А зарегиться не удалось вчера, типа «СТИМ недоступен», хотя я во внешке был подключен (область-один провайдер, внешка — другой). За сочуствие спасибо что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров, прочитаюсь на всяк случай ВСЕ, вами указанное.

ПРОБЛЕМА РЕШЕНА:
Накатил последние дрова от Нвидии 266-58 и все нормально стало отображаться и работать.

Графика, думаю, на уровне предыдущей. Только что-то миссии короткие, а так — нормально все. И действительно иногда хотца просто смотреть на разворачивающиеся бойни, а не играть.

Сообщения: 6256
Откуда: Москва

Репутация: 0

Сообщения: 420
Откуда: Санкт-Петербург

Репутация: 2

Сообщения: 204
Откуда: РЯЗАНЬ

Репутация: 0

Сообщения: 23
Откуда: стерлитамак

Репутация: 0

neold писал(а): влом читать всю тему, как решить проблему с зависанием игры?

решил проблему заменой карты(спустя 3 месяца что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров)

Сообщения: 6256
Откуда: Москва

Репутация: 0

Сообщения: 146
Откуда: Санкт-Петербург

Репутация: 0

Сообщения: 6256
Откуда: Москва

Репутация: 0

Сообщения: 146
Откуда: Санкт-Петербург

Репутация: 0

Сообщения: 2275
Откуда: Москва

Репутация: 31

Сообщения: 6256
Откуда: Москва

Репутация: 0

Репутация: 0

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

Игра просто тормозит там, где тормозить по-идее не должна, даже на минимальных настройках. ФПС скачет как бешеный, постоянные фризы, дёргания, залипания, невероятно долгие загрузки меню создания класса. Я выложил за эту коллекцию багов 700 рублей. Игру купил совсем недавно, потому что знал о её проблемах, и потому ждал всех последних обновлений, но никакие патчи BO стабильно работать не могут заставить.

Я хочу понять, в чем проблема, и по возможности решить её, потому что я потратил на игру деньги, и даже купил дополнительные карты через сервис Стим. Вот моя конфигурация:

ОС: MS Windows 7 Ultimate 64-bit SP1
Проц: Intel Corel 2 Dui CPUE6550 @ 2.33Ghz
Память: 4GB
Карта: ATI Radeon HD 4800 Series

Драйвера само собой последние. Винды переустанавливал неделю назад (софт лицензионный). Никаких проблем с производительностью системы не наблюдается. Я пишу о проблеме сюда, поскольку знаю о плохой оптимизации BO, и мне почему-то кажется, что проблема в видеокарте; BO её просто не переваривает что ли.

Сообщения: 653
Откуда: С Петербург

Репутация: 3

Цитата: Intel Corel 2 Dui CPUE6550 @ 2.33Ghz

Сообщения: 31
Откуда: Одесса

Репутация: 0

Цитата: Intel Corel 2 Dui CPUE6550 @ 2.33Ghz

Просто проц не тянет

Сообщения: 904
Откуда: Нижний НовгороД РоК-СИТИ

Репутация: 0

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

Источник

Шейдеры в Unity — это не сложно. Часть 2 — диффузный шейдинг

Будем разбираться в шейдерах

Всем привет! Благодарен всем за замечания и комментарии к предыдущей статье. Благодаря всем нам мы наполняем интернет доступными знаниями и это действительно круто.
Сегодня продолжаем разбираться с шейдерами, а именно с работой с освещением. Рассмотрим тип освещения Ламберта, познакомимся с диффузным шейдингом, и, как обычно, напишем и разберём AD шейдер (Ambient Diffuse).

Теория

Итак, начнём наше знакомство с типом освещения Ламберта (Lambertian reflectance).

что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеровПоглощение и отражение света

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

Источник света излучает свет

Свет падает на объект, отражаясь и рассеиваясь.

Отражённый свет попадает в камеру и мы получаем картинку.

В Unity источник света описывается точкой в пространстве, а мощность (или количественная величина света) описывается параметром освещённости (Intensity). Поскольку в модели освещения Ламберта угол обзора не имеет значения, мы будем видеть один и тот же цвет со всех сторон.

Возвращяясь к реальности, рассмотрим пример освещения участка с криволинейной поверхностью. Когда луч света падает на поверхность гладкого объекта, свет отражается. Так как лучи света парралельны, то в случае с гладким объектом отражённые лучи будут также параллельны. Это регулярное отражение называется однонаправленным отражением или зеркальным отражением света. Но гладкость объектов относительна, и, как правило, представляет собой шероховатую и неровную поверхность. В таком случае падающие лучи являются параллельными, а отраженные лучи будут рассеиваться во всех направлениях. Это явление является диффузным отражением света.

что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеровОтражение света на криволинейной поверхности

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

Характеристики диффузного освещения:

Интенсивность освещённости пикселя не зависит от угла обзора.

Интенсивность освещённости зависит от угла падения света на поверхность.

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

Формула для расчёта направленного света:

Формула вычисления направленного света несколько отличается от вычисления окружающего света. При вычислении отражения окружающего света не имеет значение его направление, так как окружающий свет не имеет направления (точнее направлен на все стороны). Поэтому окружающий свет одинаков для каждой вершины. В случае вычисления направленного света его направление имеет значение. Рассеивание направленого света зависит от расстояния до нормали. Чем ближе к нормали, тем сильнее рассеивание. Интенсивность диффузного отражения направленного света соответствует закону косинуса Ламберта. Таким образом имеем формулу:

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

Практика

Итак, немного разобравшись в том, как работает свет в Unity, и в том, как нам его применять в шейдере, перейдём к написанию шейдера. Напомню, мы будем писать шейдер AD (Ambient diffuse)

Полный код шейдера

Далее при помощи ключевого слова CGPROGRAM мы объявляем раздел шейдера на языке GLSL. Мы будем использовать такие же наименования, как и в предыдущей главе, а это значит, что #pragma vertex vert объявляет в качестве вершинного шейдера функцию с именем vert, а #pragma fragment frag в качестве фрагментного шейдера функцию с именем frag. Строчкой #include «UnityCG.cginc» мы подключаем библиотеку со вспомогательными и наиболее полезными функциями. Кто хочут узнать больше про эту библиотеку, можно прочесть про неё вот тут.

Движемся по коду дальше и определяем скруктуру данных для фрагментного шейдера:

Более подробно расписано в документации. Далее следует объявить блок переменных, которые будут использоваться в шейдере. В нашем случае это:

Для вычисления нам необходимо будет вычислить следующие данные:

единичный вектор направление освещения;

нормаль в мировых координатах;

позицию в мировых координатах;

Получаем соответствующие вычисления:

Итак, все необходимые для вычисления данные получены, приступаем к рассчёту освещения. В первую очередь рассчитаем окружающее освещение:

Здесь для рассчёта окружающего света мы перемножаем интенсивность освещения и цвет. Далее рассчитываем диффузное освещение:

Здесь мы рассчитываем диффузное освещение по формулам которые были описаны выше в теории. Далее нам осталось сложить окрущающий и диффузный цвет:

Есть. Рассчёт освещения окончен. Для окончательного формирования выходной структуры данных нам осталось лишь передать uv координаты.

Есть. Шейдер написан. Осталось проверить его в Unity.

Походу что-то сломалось, не могу вставить гиф, посмотреть можно тут

Как можно видеть, шейдер отрабатывает корректно, интенсивность и цвет можно менять через переменные шейдера.
Также проверим работу шейдера с освещением:

Походу что-то сломалось, не могу вставить гиф, посмотреть можно тут

Как можно видеть, всё работает корректно, освещённость объекта меняется в зависимости от изменения параметров источника освещения.

На этом пока что всё. Спасибо за внимание. Знаю, статьи выходят не часто, но постараюсь исправиться и писать больше. Читаю все ваши комментарии, рад объективной критике и замечаниям.

Источник

Тест актуальных систем в Call of Duty: Black Ops I/II/III и Ghosts

Оглавление

реклама

Вступление

Как обычно, отметим, что в данном материале видеокарты тестировались не с одним, а с несколькими процессорами. Благодаря этому была получена наглядная картина производительности различных конфигураций в играх.

В обзоре присутствуют сводные диаграммы производительности систем в четырех играх – Call of Duty: Black Ops, Black Ops II, Black Ops III и Ghosts. Данное направление статей носит справочный характер, комментарии отсутствуют, так как каждый читатель сможет самостоятельно почерпнуть нужную ему информацию.

Тестовая конфигурация

Тесты проводились на следующем стенде:

реклама

Инструментарий и методика тестирования

Для более наглядного сравнения конфигураций все игры, используемые в качестве тестовых приложений, запускались в разрешении 1920 х 1080.

В качестве средств измерения быстродействия применялись встроенные бенчмарки, утилиты Fraps 3.5.9 Build 15586 и AutoHotkey v1.0.48.05. Список игровых приложений:

Во всех играх замерялись минимальные и средние значения FPS. В тестах, в которых отсутствовала возможность замера минимального FPS, это значение измерялось утилитой Fraps. VSync при проведении тестов был отключен.

Перейдем непосредственно к тестам.

Результаты тестов: сравнение производительности

реклама

Call of Duty: Black Ops (Морпехи)

Core i7-6700K @ 4500 МГц

Включите JavaScript, чтобы видеть графики

Разгон

Core i7-6700K @ 4000 МГц

Включите JavaScript, чтобы видеть графики

Разгон

реклама

Core i5-6600K @ 3500 МГц

Включите JavaScript, чтобы видеть графики

Разгон

Core i3-4370 @ 3800 МГц

Включите JavaScript, чтобы видеть графики

Разгон

FX-9370 BE @ 5000 МГц

Включите JavaScript, чтобы видеть графики

Разгон

FX-9370 BE @ 4400 МГц

Включите JavaScript, чтобы видеть графики

Разгон

Источник

Что такое шейдеры? Просто о сложном для начинающих

что значит тонирование шейдеров. Смотреть фото что значит тонирование шейдеров. Смотреть картинку что значит тонирование шейдеров. Картинка про что значит тонирование шейдеров. Фото что значит тонирование шейдеров

«Что такое шейдеры?» — очень частый вопрос любопытных игроков и начинающих игровых разработчиков. В этой статье доходчиво и понятно об этих страшных шейдерах расскажу.

Двигателем прогресса в сторону фотореалистичности картинки в компьютерной графике я считаю именно компьютерные игры, поэтому давайте именно в разрезе видео-игр и поговорим о том, что такое «шейдеры».

До того, как появились первые графические ускорители, всю работу по отрисовке кадров видеоигры выполнял бедняга центральный процессор.

Так вот, центральный процессор (CPU — Central Processing Unit) слишком умный парень, чтобы заставлять его заниматься такой рутиной. Вместо этого логично выделить какой-то аппаратный модуль, который разгрузит CPU, чтобы тот смог заниматься более важным интеллектуальным трудом.

Таким аппаратным модулем стал — графический ускоритель или видеокарта (GPU — Graphics Processing Unit). Теперь CPU подготавливает данные и загружает рутинной работой коллегу. Учитывая, что GPU сейчас это не просто один коллега, это толпа миньонов-ядер, то он с такой работой справляется на раз.

Но мы пока не получили ответа на главный вопрос: Что такое шейдеры? Подождите, я подвожу к этому.

Хорошая, интересная и близкая к фото-реализму графика, требовала от разработчиков видеокарт реализовывать многие алгоритмы на аппаратном уровне. Тени, свет, блики и так далее. Такой подход — с реализацией алгоритмов аппаратно называется «Фиксированный пайплайн или конвейер» и там где требуется качественная графика он теперь не встречается. Его место занял «Программируемый пайплайн».

Запросы игроков «давайте, завозите хороший графоний! удивляйте!», толкали разработчиков игр (и производителей видеокарт соответственно) все к более и более сложным алгоритмам. Пока в какой-то момент зашитых аппаратных алгоритмов им стало слишком мало.

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

И вот, наконец, мы дошли до ответа на наш главный вопрос.

«Что такое шейдеры?»

Ше́йдер (англ. shader — затеняющая программа) — это программа для видеокарточки, которая используется в трёхмерной графике для определения окончательных параметров объекта или изображения, может включать в себя описание поглощения и рассеяния света, наложения текстуры, отражения и преломление, затенение, смещение поверхности и множество других параметров.

Графический пайплайн

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

Сначала видеокарты оснастили несколькими специализированными процессорами, поддерживающими разные наборы инструкций. Шейдеры делили на три типа в зависимости от того, какой процессор будет их исполнять. Но затем видеокарты стали оснащать универсальными процессорами, поддерживающими наборы инструкций всех трёх типов шейдеров. Деление шейдеров на типы сохранилось для описания назначения шейдера.

Помимо графических задач с такими интеллектуальными видеокартами появилась возможность выполнения на GPU вычислений общего назначения (не связанных с компьютерной графикой).

Впервые полноценная поддержка шейдеров появилась в видеокартах серии GeForce 3, но зачатки были реализованы ещё в GeForce256 (в виде Register Combiners).

Виды шейдеров

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

Вершинный шейдер

Вершинными шейдерами делают анимации персонажей, травы, деревьев, создают волны на воде и многие другие штуки. В вершинном шейдере программисту доступны данные, связанные с вершинами например: координаты вершины в пространстве, её текстурные координатами, её цвет и вектор нормали.

Геометрический шейдер

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

Пиксельный шейдер

Пиксельными шейдерами выполняют наложение текстур, освещение, и разные текстурные эффекты, такие как отражение, преломление, туман, Bump Mapping и пр. Пиксельные шейдеры также используются для пост-эффектов.

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

На чем пишут шейдеры?

Изначально шейдеры можно было писать на assembler-like языке, но позже появились шейдерные языки высокого уровня, похожие на язык С, такие как: Cg, GLSL и HLSL.

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

RenderMan

Все что мы обсудили выше относится к realtime графике. Но существуют non-realtime графика. В чем разница — realtime — реальное время, тоесть здесь и сейчас — давать 60 кадров в секунду в игре, это процесс реального времени. А вот рендерить комплексный кадр для ультрасовременной анимации по несколько минут это non-realtime. Суть во времени.

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

Супер-реалистичная графика в Sand piper

Например, посмотрите, на вот этот милый мультфильм, песчинки, перышки птички, волны, все выглядит невероятно реальным.

*Видео могут забанить на Youtube, если оно не открывается, погуглите pixar sandpiper — короткометражный мультфильм про храброго песочника очень милый и пушистый. Умилит и продемонстрирует насколько крутой может быть компьютерная графика.

Так вот это RenderMan от фирмы Pixar. Он стал первым языком программирования шейдеров. API RenderMan является фактическим стандартом для профессионального рендеринга, используется во всех работах студии Pixar и не только их.

Полезная информация

Теперь Вы знаете что такое шейдеры, но помимо шейдеров, есть другие очень интересные темы в разработке игр и компьютерной графике, которые наверняка Вас заинтересуют:

Если остались вопросы

Как обычно, если у Вас остались какие-то вопросы, задавайте их в комментариях, я всегда отвечу. За любое доброе слово или правку ошибок я буду очень признателен.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *