Рубрика «компьютерная графика»

Повышаем производительность кода: сначала думаем о данных - 1

Занимаясь программированием рендеринга графики, мы живём в мире, в котором обязательны низкоуровневые оптимизации, чтобы добиться GPU-фреймов длиной 30 мс. Для этого мы используем различные методики и разработанные с нуля новые проходы рендеринга с повышенной производительностью (атрибуты геометрии, текстурный кеш, экспорт и так далее), GPR-сжатие, скрывание задержки (latency hiding), ROP…

В сфере повышения производительности CPU в своё время применялись разные трюки, и примечательно то, что сегодня они используются для современных видеокарт ради ускорения вычислений ALU (Низкоуровневая оптимизация для AMD GCN, Быстрый обратный квадратный корень в Quake).

Повышаем производительность кода: сначала думаем о данных - 2
Быстрый обратный квадратный корень в Quake

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

Эта статья — не исчерпывающее хардкорное руководство по железу. Это всего лишь введение, напоминание, свод базовых принципов написания эффективного кода для CPU. Я хочу «показать, что низкоуровневое мышление сегодня всё ещё полезно», даже если речь пойдёт о процессорах, которые я мог бы добавить.

В статье мы рассмотрим кеширование, векторное программирование, чтение и понимание ассемблерного кода, а также написание кода, удобного для компилятора.
Читать полностью »

Джон Уитни как пионер компьютерной графики и IBM 2250 как инструмент создания компьютерных видеоэффектов - 1
Джон Уитни и Источник: hackpad.com

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

Но в то время жил и работал человек, который сделал все это возможным. Речь идет о Джоне Уитни, пионере компьютерной графики. У него был довольно широкий круг интересов, и особенно ему хотелось узнать одно — можно ли при помощи компьютеров создавать произведения искусства, художественные работы. Вряд ли для кого-то из читателей Geektimes ответ «да» окажется сюрпризом. Джон Уитни смог реализовать свою идею, причем сделал это с размахом.
Читать полностью »

Плохой код пакета для создания 2D-анимаций Toonz - 1На днях стало известно о том, что Digital Video, создатели проекта TOONZ, и японский издатель DWANGO подписали соглашение о приобретении компанией DWANGO проекта Toonz, программного обеспечения для создания 2D анимации.

По условиям соглашения, подписанного между сторонами, будет открыт общий доступ к OpenToonz, проекту, разработанному компанией Toonz. Он так же будет включать некоторые элементы, разработанные Studio Ghibli, которые в свою очередь являются активными пользователями этих программ. С их помощью, например, Studio Ghibli создавали «Ходячий замок Хоула», «Унесенных призраками», «Рыбку Поньо», а также множество других картин. В их числе так же мультфильм «Футурама», который вдохновил меня на написание этой разоблачающей статьи про исходный код OpenToonz.
Читать полностью »

Здравствуйте! Пока продолжает медленно, но верно готовится материал про хромакей, решил представить Вашему вниманию перевод интервью о том, как создавался высокотехнологичный рекламный ролик Nike Hypervenom. Этот ролик позволит Вам побыть в шкуре известного футболиста и забить решающий гол во время настоящего матча. Но самое главное это не просто съемка с видом из глаз – здесь Вы можете крутить головой! Собственно, сам ролик:

А рассказ про то, как создавался данный ролик под катом.
Читать полностью »

Меня зовут Андрей Колокольцев. По роду деятельности меня давно интересуют истории о том, как именитые режиссеры, продюсеры, студии справляются с созданием тех или иных визуальных картин. Для первой моей публикации я выбрал кинофильм, который стал для меня аудиовизуальным откровением и настоящим эмоциональным аттракционом (это при просмотре в кино на экране IMAX, дома на телевизоре теряется 2/3 впечатлений). Вы не подпрыгните от неожиданности, так как в названии уже все прочитали — это фильма Кристофера Нолана «Интерстеллар». Несмотря на то, что интерес к нему давно угас, я хотел бы представить Вашему вниманию вольный перевод оригинальной статьи Майка Сеймура «Interstellar: inside the black art» от 18 ноября, 2014 года. Эта статья рассказывает о том, как создавалась визуализация «Гаргантюа» и других сцен из фильма — думаю, это будет интересно читателям пусть даже спустя 1,5 года.

image
Режиссер Интерстеллара Кристофер Нолан объясняет Мэттью Макконахи основы квантовой физики суть сцены

Читать полностью »

Дошли руки написать очередное дополнение к моему краткому курсу компьютерной графики. Итак, тема для очередного разговора — использование карт нормалей. В чём основное отличие использования карт нормалей от затенения Фонга? Основная разница в плотности задания информации. Для затенения Фонга мы использовали нормальные вектора, заданные к каждой вершине нашей полигональной сетки, интерполируя нормали внутри треугольников. Использование же карт нормалей позволяет задавать нормали для каждой точки нашей поверхности, а не лишь изредка, что просто драматическим образом влияет на детализацию изображений.

В принципе, в лекции про шейдеры мы уже использовали карту нормалей, но только заданную в глобальной системе координат. Сейчас же разговор пойдёт про касательное пространство. Итак, вот две текстуры, левая задана в глобальном пространстве (RGB напрямую превращается в вектор XYZ), а правая — в касательном.
Краткий курс компьютерной графики: задание карт нормалей в касательном пространстве - 1
Читать полностью »

image

Каждый, кто уже посмотрел нового «Безумного Макса», согласится с тем, что фильм вышел сочным: зашкаливающий градус безумия постапокалиптического мира, полное отсутствие морали, ощущение безысходности, мощные авто и красочные взрывы. Экшен бьет ключом и не позволяет оторвать взгляд от экрана ни на секунду.

Вопреки современным тенденциям снимать кино исключительно в павильонах с зелеными стенами, при создании Mad Max: Fury Road активно использовались еще и реальные взрывы, более 150 автомобилей и работа каскадеров. Конечно, в фильме присутствует в немалых количествах и компьютерная графика вкупе с визуальными эффектами, но благодаря обширной статье на fxguide мы можем узнать, где заканчивается реальность и начинается CGI.
Читать полностью »

Компьютерная графика, онлайн-курс - 1В MIT компьютерная графика – это 3D алгоритмы, в некоторых учебниках – это сборник описаний популярных графических редакторов, в кино – спецэффекты, на телевидении – оформление экрана. Всё это – увлекательно и любопытно, но что же такое компьютерная графика?

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

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

Но было и ещё одно обстоятельство, о котором явно не говорили: в какой-то момент я понял, что компьютерная графика «по специальности» – это ещё и биология, физика, и даже химия. И, конечно, математика. В этом посте я расскажу о трехнедельном открытом онлайн-курсе по основам компьютерной графики, который начался совсем недавно – 9 марта, – и попробую объяснить, для кого он сделан, зачем, почему такой, и как знания компьютерной графики помогают в жизни.
Читать полностью »

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

Это не решение проблемы. Давайте разбираться вместе.
Читать полностью »

Опубликован код игры Commander Keen

На Github опубликован исходный код игры Commander Keen, одной из первых видеоигр для персонального компьютера IBM PC/XT с операционной системой MS-DOS. Серия отличалась новаторским использованием графики, в том числе использованием передового формата EGA и первым в мире использованием для сдвига картинки адаптивного обновления тайлов, которое изобрёл Джон Кармак.

Это одна из первых игр id Software и Джона Кармака. Оригинальная версия вышла в декабре 1990 года.
Читать полностью »