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

Сегодня речь зайдёт о цвете.

image

Это спектр видимого света, построенный в цветовом пространстве sRGB с помощью прототипа моего колориметрического движка. Внизу подписана длина волны в нанометрах. Именно пространство sRGB является сегодня стандартом для интернета, так как оно поддерживается подавляющим большинством дисплеев. Но по правде, цветовой охват его невелик (всего 36 % от видимых глазом цветов); в нём очень плохо передаются оттенки зелёного. По этой причине на изображённый спектр наложен серый фон, снижающий насыщенность цветов до той, которую можно отобразить на стандартном мониторе. О том же, какие закономерности лежат в основе формирования цвета, и как цвет представлен в цифровой технике, да поведает эта статья.
Читать полностью »

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

В этой статье я кратко рассмотрю понятие метода фиксации уровня и неявно заданных динамических поверхностей (level set method). Также рассмотрю роль этого метода в бинарной сегментации с введением и определением математических конструкций, таких как SDT (Signed Distance Transforms), маркированной карты расстояний.

Бинарная сегментация изображений методом фиксации уровня (Level set method) - 1 Слева — исходное изображение, справа — сегментированное
Читать полностью »

Повышаем производительность кода: сначала думаем о данных - 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 марта, – и попробую объяснить, для кого он сделан, зачем, почему такой, и как знания компьютерной графики помогают в жизни.
Читать полностью »