ТЕМА НОМЕРА: GPU в кино
ТЕМА НОМЕРА: GPU в кино
Автор: Алексей Калиниченко
Производители видеокарт и разработчики игр уже который год настойчиво обещают кинематографическое качество графики, но выполнить обещания никак не могут. Можно, конечно, «обвинить» киноиндустрию в том, что она не стоит на месте и, не снижая скорости, движется вперед. Но на руках киношников есть два козыря: они обладают куда большими вычислительными ресурсами и широко применяют материал, отснятый камерой. Игры же принципиально отличаются от кино интерактивностью: если один-единственный кадр для картины может просчитываться несколько минут и даже часов, то для игр это абсолютно недопустимо. В играх ситуация меняется в соответствии действиям пользователя, и просчитать все варианты заранее просто невозможно. А вот некоторый аналог композинга [Технология комбинированных съемок, основанная на совмещении и смешивании 2D-видеопоследовательностей; подробнее ] в свое время широко применялся для двухмерных игрушек, в которых большинство персонажей было сделано на основе спрайтов [Спрайтовая анимация основана на быстрой смене картинок, на которых тело персонажа находится в различных положениях. Больше всего это похоже на «мультик», нарисованный на уголках блокнота]. Но с широким распространением 3D-ускорителей эта технология стала неактуальной и почти не развивалась.
Однако сказать, что эти два «мира графики» не пересекаются, нельзя. В большинстве современных игр наличествуют предпросчитанные заставки, технология изготовления которых ничем не отличается от большого кино. А вот обратное проникновение до недавнего времени было только на стадии разработки 3D-моделей. Ведь 3D-редактор должен в реальном времени отображать постоянно изменяющуюся модель. Поэтому вполне логично, что тут используются технологии, подобные игровым. Правда, если мы вспомним, что OpenGL, одна из двух основных библиотек для разработки 3D-игр, была создана именно для применения в таких задачах, можно усомниться, кто у кого заимствовал технологии. Правда, в дальнейшем большинство нововведений в графике сначала появлялось в игровой индустрии и лишь потом перекочевывало в профессиональные программы, упрощая работу моделлеров и аниматоров и все больше приближая картинку, с которой работает человек, к тому, что увидит зритель.
Потом realtime-алгоритмы «проникли» в производство аниматиков — это небольшие видеоролики, которые обычно создаются до начала съемок и серьезной работой над cg[Computer graphics — компьютерная графика]. Они нужны для согласования того, как режиссер «видит» сцену, с тем, как оператор ее отснимет, и с тем, что и как в последствии предстоит сделать компьютерщикам. Согласитесь, намного проще работать, когда можно взглянуть на окончательный результат, хотя бы и в сильном приближении. Для подобных задач важнее не качество, а оперативность внесения изменений. Иногда их приходится вносить непосредственно на съемочной площадке, когда нет ни желания, ни возможности подождать полчасика, пока «машина думает». В аниматеках чаще всего нет ни теней, ни сложного света, и даже текстуры вполне могут отсутствовать. Современные видеокарты с легкостью справляются с такими задачами.
Теперь перейдем к самому интересному — к финальному рендерингу. И фильмы, и игры состоят из последовательности кадров, при этом в обоих случаях кадр — это проекция трехмерного пространства, каким-то образом заполненного треугольниками (полигонами), на плоскость экрана. Оба действа разбиты на некоторые отрезки, на которых действие происходит в одном и том же окружении. Только в игре этот отрезок называется уровнем, а в кино — планом. Принципиальная разница только в одном — куда будут помещены результаты: на экран или в файл для последующего перенесения на пленку. Получается, что для столь похожих задач используются принципиально разные аппаратные средства (GPU и CPU). Тут, конечно, можно увидеть игру букв GPU — Games, CPU — Cinematograph. Но причина отнюдь не в буквах — для решения этих задач применяются принципиально разные алгоритмы.
Описывать принцип действия GPU, думаю, смысла нет, а вот на технологиях «большого» рендеринга следует остановиться. В некотором роде они стремились как можно в большей степени подражать природе. При расчете освещения, например, часто используется технология, повторяющая естественный ход лучей, с многочисленными отражениями и преломлениями (метод фотонных карт). Для этого из источника света «испускается» большое количество фотонов, а на все объекты натягивается дополнительная текстура, в которой будет храниться информация об освещении. Если фотон попадает на поверхность какого-либо предмета, то он оставляет в его текстуре освещенности след и либо отражается, либо проходит сквозь предмет, преломляясь. После некоторого количества отражений или после того, как энергия фотона стала слишком мала, он умирает. Таким образом, при достаточном количестве фотонов мы получаем кроме основных текстур для объектов еще и текстуру освещенности, которую можно использовать при дальнейшем рендеринге.
Вычислительная сложность этого алгоритма очень высока, ведь надо проследить путь каждого фотона. Зато он прекрасно параллелится — движение всех частиц абсолютно независимо.
Решение подобной задачи для сложной сцены может занимать много времени, и вполне понятно желание как-то ускорить процесс. По аналогии с 3D-играми и для рейтрейсеров стали появляться акселераторы. Компания Advanced Rendering Technology производит PCI-карту аж с восемью узкоспециализированными процессорами на борту. Она предназначена для профессионального применения и на некоторых задачах позволяет получить ускорение более чем в десять раз.
Мощности современных GPU могут пригодиться не только «тридешникам». Как нельзя кстати они подойдут и для нелинейного монтажа в реальном времени. Рассмотрим самый простой пример — переход между двумя последовательными кадрами, осложненный анимацией. Представьте, допустим, эффект перелистывания страницы, при этом конец первой видеопоследовательности продолжает идти на одной странице, а на другой уже начинается вторая. Нет ничего проще: загружаем кадры на видеокарту, моделируем 3D-сцену с перелистывающимися страницами, устанавливаем камеру и, последовательно выводя на страницы соответствующие кадры, получаем желаемый эффект.
Так же просто реализуются все эффекты взаимопроникновения кадров, но для этого уже лучше использовать пиксельные шейдеры. Можно сделать специальную текстуру перехода и выводить на экран пиксел со второй последовательности кадров, только если значение яркости на текстуре смешения стало меньше, чем номер кадра, деленный на их количество (в сцене перехода). Таким образом, нулевой кадр будет полностью из первой последовательности, последний — из второй, все же остальные будут смешаны из обоих в соответствии с текстурой перехода. Интересный эффект получится, если вместо текстуры перехода использовать одну из последовательностей. Тогда сначала будут заменены самые темные участки изображения, а лишь потом яркие.
На видеокарте можно решать и более сложные задачи совмещения видеопоследовательностей, когда кадр собирается из большого количества слоев и фрагментов. До недавнего времени главным препятствием для массового применения GPU в видеомонтаже было низкое качество рендеринга с узким динамическим диапазоном, но сейчас и эта проблема решена.
Также в киноиндустрии применяется большое количество операций фильтрации — когда значение пиксела заменяется суммой некоторого количества соседних пикселов с определенными весовыми коэффициентами. Подобным образом решаются задачи размытия, выделения границ, увеличения контрастности… да что там говорить, практически все, что может делать Photoshop, — это операции фильтрации. При помощи пиксельных шейдеров эти операции делаются напрямую. Они нужны в первую очередь на этапе обработки изображения после рендеринга. Здесь кроме разнообразной фильтрации применяется цветокоррекция, добавляются разнообразные плоские дымы, снег и осколки. С этим делом прекрасно справляется GPU.
Подводя итог, посмотрим, что может дать GPU киноиндустрии. Во-первых, он может существенно упростить труд моделлера, позволяя интерактивно работать с достаточно сложными моделями. Во-вторых — принципиально ускорить процесс рендеринга. Что позволит или уменьшить время работы над проектом, или улучшить качество финального результата. В-третьих, GPU способен оказать существенную помощь при монтаже, причем не только на стадии проектирования, где видеоускорители обосновались давным-давно, но и при просчете финального результата.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
ТЕМА НОМЕРА: Все образуется. Или не все?
ТЕМА НОМЕРА: Все образуется. Или не все? Автор: Леонид Левкович-МаслюкДети! Если к вам во дворе, в парке, на пустыре, в подвале, на свалке, в интернет-кафе – в общем, где вы там обычно играете, – подойдет взрослый дядя и скажет: я вам дам конфетку, пойдемте ко мне домой, там
ТЕМА НОМЕРА: На том стоим
ТЕМА НОМЕРА: На том стоим Всемирная сеть Internet существует с 1961 года. И уже в те времена начались эксперименты по индексированию и выборке данных, но удовлетворительные результаты появились далеко не сразу. Только в 1991 году Поль Линдер (Paul Linder) и Марк П. Маккэхил (Mark P. McCahill) из
ТЕМА НОМЕРА: 9:45 P.M.
ТЕМА НОМЕРА: 9:45 P.M. Автор: Владимир ГуриевИнформационное цунами, вызванное объявлением Origami [Я поэт, зовусь я Цветик, извините, если кого обидел], отодвинуло ноутбуки на второй план. На выставке их было довольно много, однако посетителя трудно удивить лэптопом, и даже
ТЕМА НОМЕРА:
ТЕМА НОМЕРА: Авторы: Константин Курбатов, Дмитрий ЖмурковМногие слышали словосочетание — баннерная сеть. В самом простом (классическом) виде она функционирует следующим образом: веб-мастер добавляет в базу баннерообменной [Специалисты разделяют термины «баннерная
ТЕМА НОМЕРА: Которые нас
ТЕМА НОМЕРА: Которые нас Автор: Владимир ГуриевМноготочия в заголовке — не от хорошей жизни. Мы так и не смогли найти слово, которое емко и точно описывает все упомянутые ниже … Точно так же сложно найти слово, описывающее чувства, которое мы испытываем, когда вспоминаем
ТЕМА НОМЕРА: Это война
ТЕМА НОМЕРА: Это война Скандал с бывшим майкрософтовским топ-менеджером Кай-Фу Ли (см. новости в этом номере) стал очередным свидетельством противостояния Google и Microsoft. Противостояния необычного - еще года три назад мало кто мог предположить, что Google способен представлять
ТЕМА НОМЕРА: Их альтернатива
ТЕМА НОМЕРА: Их альтернатива Приступая к подготовке темы этого номера, мы с коллегами ставили задачу рассказать о том, как люди улучшают стандартные высокотехнологичные устройства, вооружившись фантазией, смекалкой и иногда - паяльником. Однако, по мере погружения в
Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005
Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005 В начале августа в Лос-Анджелесе прошла выставка SIGGRAPH 2005. Полное название этого мероприятия звучит следующим образом: 32-я Международная конференция по компьютерной графике и интерактивным технологиям
ТЕМА НОМЕРА ВсёВключено
ТЕМА НОМЕРА ВсёВключено Нашего человека в Берлине выдает не костюм фабрики «Большевичка», не скудный словарный запас («цвай бир, битте», «гибт мир да эс унд шнапс», «ду респектирст мих?» и «их фордере ден ауфруф дес руссишен ботшафтерс!») и даже не серпастый-молоткастый,
ТЕМА НОМЕРА: После
ТЕМА НОМЕРА: После Автор: Владимир ГуриевПо большому счету Воланд, конечно, прав. Большинство из нас имеет весьма приблизительное (и, как правило, ошибочное) представление даже о своем персональном будущем, не говоря уже о судьбах человечества.Что не мешает фантазерам и
ТЕМА НОМЕРА: Что мы использовали и как
ТЕМА НОМЕРА: Что мы использовали и как Автор: Владимир Гуриев «Поскольку предсказать социологические или политические изменения невозможно, - единственная область, в которой у нас есть хоть какой-то шанс угадать будущее, это технологии». Артур Кларк Не исключено, что
ТЕМА НОМЕРА: Как родилась эта тема
ТЕМА НОМЕРА: Как родилась эта тема Автор: Владимир ГуриевОбычно мы стараемся придумать на первое апреля что-нибудь веселое, но последние несколько лет редакции и без первого апреля живется все лучше и веселее, так что настроения шутить у нас не было, и в тематическом
ТЕМА НОМЕРА: Беспилотники
ТЕМА НОМЕРА: Беспилотники Автор: Юрий РомановТема номера, посвященная технологиям беспилотных летательных аппаратов (БПЛА), появилась в "Компьютерре" не случайно. Один из специалистов в этой области охарактеризовал текущий момент так:"Известно, привяжи к забору хороший