Журнал:

Современное программное обеспечение для производства компьютерной графики (часть 1)

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

Немного истории и теории

В относительно недалеком прошлом все компьютерно-графические программы можно было пересчитать по пальцам. Да и те, что использовались, работали на специализированных станциях большой стоимости. Примером тому может служить традиционная платформа-ветеран Silicon Graphics. Работа на этих самых старших версиях специализированного ПО (программного обеспечения) требовала не только глубоких профессиональных навыков и знаний, но также свободного обращения с операционными системами семейства UNIX. Со временем ситуация изменилась, и во многом в пользу «талантливого дилетанта». Безусловно, процессу упрощения работы с программами компьютерной графики способствовало появление и широкое распространение персональных компьютеров Macintosh, IBM PC вместе с многочисленными «клонами». Операционные системы обеих платформ позволяли управляться с файлами, запускать программы-приложения, просматривать результаты работы даже новичкам, работающим за монитором без году неделю. Такая ситуация несла в себе не только положительные, но и отрицательные аспекты. Хорошо было то, что люди, имеющие навыки рисования (многие имеют и соответствующее образование), получили возможность работать с компьютером, производить вполне конкурентоспособный дизайнерский продукт и тем самым способствовать развитию эстетики теледизайна. Плохо оказалось то, что некоторые субъекты решили, будто работу творческого специалиста можно переложить на компьютер, а самому лишь формально выполнять ТЗ (техническое задание), нажимая нужные кнопки в нужном месте и в нужное время. При таком подходе последствия оказывались (а кое-где и поныне оказываются) плачевными. Как бы то ни было, но на сегодняшний день большинство и любительских, и профессиональных программ в сфере компьютерной графики полностью или частично удовлетворяют концепции WYSIWYG (What You See is What You Get — что видишь, то и получаешь). Интуитивно понятно, что этот принцип совершенно необходим именно для так называемой экранной графики, в отличие от, скажем, каких-либо математических приложений, где господствует формула. Таким образом, менее чем за 15 лет программы компьютерной графики стремительно преодолели путь от визуализации до визуального конструирования.

Рис. 1.1

Но какими же они бывают, эти программы? Если произвести более или менее полную и строгую классификацию, то результатом будет схема, помещенная на рис. 1.1. Она, как и все классификаторы, несовершенна, поскольку не учитывает всех свойств и параметров ПО. Поэтому ясно, что предложенный вариант — не единственный. Теперь нужно добавить к схеме несколько комментариев. Во-первых, под словом «современные» здесь понимаются те программы, которые можно довольно продуктивно использовать и по сей день, хотя многие из них появились в своих первых версиях (воплощениях) довольно давно. Во-вторых, указанные конкретные программы не образуют полного перечня ПО каждой разновидности. Просто это наиболее используемые и известные широкой дизайнерской публике приложения. Выбор во многом отражает личный опыт и вкус автора статьи, поэтому любые попытки присвоить «рейтинговые показатели» приведенным для примера программам ни к чему не приведут. На месте каждого из указанных названий мог бы стоять десяток других. В-третьих, красным цветом выделены названия приложений, которые будут обсуждаться в настоящей статье. Ведь нельзя объять необъятное. Наконец, в-четвертых, предлагаемая схема грешит некоторой неточностью. На сегодняшний день компьютерно-графических приложений чистого типа (например, абсолютно растровых или абсолютно векторных) наверно и не найдешь. Тем не менее, долевой вклад той или иной принципиальной концепции в конкретную программу наша схема отражает.

Теперь, когда определены основные соглашения по группам и подгруппам ПО, остается лишь ввести некоторые понятия и определения. Они сделают рис.1.1 понятным и удобочитаемым.

Векторное представление графической информации — это «рисование формулами». Допустим, вам нужно отобразить на экране точную окружность. Самый интуитивно понятный способ известен из школьного курса геометрии: задайте координаты центра окружности в пространстве экрана и ее радиус. Линию окружности вычертит компьютер. (Именно так работает обычный циркуль.) А если нужно получить не окружность, а круг, то есть заполненную область? Тогда компьютер уже не обойдется простым уравнением окружности, и набор операций несколько усложнится. Тем не менее, определение границ замкнутой области и заполнение ее каким-нибудь цветом или штриховкой — это по-прежнему формализуемый (представленный конечным набором формул) процесс. Я не буду подробно останавливаться на построении треугольников, квадратов, иных фигур, а лишь подчеркну, что все сколь угодно сложные объекты, созданные в векторном редакторе, хранятся в виде пакета уравнений и неравенств. Что это дает компьютерному графику? Прежде всего (и это главное), такие изображения можно произвольно масштабировать — увеличивать и уменьшать — без риска потерять какие-либо детали, присутствовавшие в оригинале. Такие преобразования, как и многие другие, например, сдвиг или непропорциональное растяжение, представляют собой пересчет наших формул с учетом всяческих коэффициентов. А затем вся картинка воссоздается заново с максимальной аккуратностью. Кроме того, весьма сложные объекты такого векторного представления, состоящие из простых отрезков, дуг, треугольников или же иных графических примитивов, занимают на жестком диске очень небольшое место. Возникает вопрос: небольшое по сравнению с чем? Для ответа рассмотрим самые основные черты растровой (пикселной) графики.

Рис. 1.2

Растровое изображение в самом примитивном случае представляет собой плоскость, состоящую из элементарных деталей — пикселов (англ. pixel). Пиксел — это очень маленький квадратик, элементарный фрагмент изображения. Меньше него в масштабе изображения нет ни одной детали. Если мы хотим отобразить в растровом файле простейшее изображение только двух цветов, например, черного и белого, то представим себе, что все белые пикселы — это единицы, а черные — нули (можно договориться и об обратной кодировке, суть дела от этого не меняется). На рис. 1.2 мы видим пример так называемой битовой плоскости, кодирующей изображение буквы «А». Во всех растровых форматах хранения статичной графики присутствуют подобные битовые плоскости; различия не существенны. Такая двухцветная (черно-белая) кодировка называется режимом black & white или же одноразрядным — один машинный бит на каждый пиксел принимает значение либо «0», либо «1». А вот режим под названием grayscale отличается от предыдущего тем, что имеет 256 градаций цвета от черного до белого. Каждому цвету его палитры присваивается числовое значение от 0 до 255 включительно. Иногда эту форму представления изображений называют восьмиразрядной, так как для описания каждого пиксела требуется восьмиразрядное компьютерное слово. (Те, кто имеет математическое образование, сразу догадаются, что 256 — это число 2 в степени 8. Значит, с точки зрения двоичного кода такое слово-байт имеет 8 разрядов-бит). Здесь перед графиком открывается возможность довольно корректного и адекватного кодирования фотореалистичной картинки с плавными полутоновыми переходами; фактически получается черно-белое фото с хорошим охватом градаций серого.

Рис. 1.3

Отсюда остается лишь один шаг до получения полноцветного изображения. Для этого выбирают три восьмибитных плоскости (R (red) для красного, G (green) для зеленого, B (blue) для синего цветов) и суммируют их в тех или иных пропорциях на каждый пиксел (рис.1.3). Таким образом, в кодировке RGB любой пиксел изображения характеризуется тремя числами диапазона 0…255. Например, самый яркий белый цвет будет задаваться числами R: 255, G: 255, B: 255, а «радикально-черный» — R: 0, G: 0, B: 0. Общая разрядность изображения составляет 24 бит, и это позволяет передавать огромное количество цветов одновременно (более полутора миллионов). На этом изложение утомительных теоретических подробностей можно завершить. К сожалению, без рассмотрения основных режимов цветности в кодировании изображений трудно всерьез рассматривать достоинства и недостатки компьютерно-графического ПО. Существуют и иные режимы цветности, но основные уже перечислены. Здесь важно лишь добавить, что растровые изображения требуют все возрастающего ресурса по мере возрастания пикселного разрешения, то есть большего фактического размера файла изображения в пикселах. В экранной графике разрешение по горизонтали и по вертикали совпадает и выражается в единицах dpi (dots per inch) — пикселов на дюйм. Понятно, что с увеличением числового значения разрешения вдвое для картинки фиксированного размера объем необходимой памяти увеличится в четыре раза. Кроме того, сильное увеличение оригинала приводит к появлению визуально различимых ступеней, а существенное уменьшение тоже портит изображение, поскольку мелкие детали при пересчете сглаживаются или вовсе теряются.

Остальные термины (их относительно немного) будут вводиться по ходу рассмотрения конкретных программ.

Двухмерные статические программы

Наверно, нет более известной компьютерно-графической программы, чем Adobe Photoshop. На сегодняшний день, независимо от аппаратной платформы и операционной системы, этот растровый графический редактор устойчиво ассоциируется с промышленным стандартом. Естественно, что он имеет весьма приличный набор так называемых базовых функций: он «понимает», то есть считывает файлы практически всех используемых форматов хранения растровых изображений, умело формирует растр (переводит из векторного представления в пикселное с заданным разрешением) стандартные файлы Adobe Illustrator и файлы в чрезвычайно распространенном формате EPS (Encapsulated PostScript), которые могут быть приготовлены практически любой программой векторного рисования. Photoshop корректно поддерживает все основные системы цветового представления, включая принятые в полиграфическом производстве; имеет впечатляющий набор встроенных фильтров — преобразователей изображений, разветвленную и избыточную систему цветовой и свето-контрастной коррекции. Внутренний формат программы *. psd (Photoshop Document) устроен так, что может хранить практически неограниченное количество слоев, из которых каждый имеет свой режим видимости с точки зрения логических булевых операций, ту или иную степень общей прозрачности в диапазоне 0…100% и собственную маску переменной прозрачности. Добавьте к этому возможность хранить текст как в растровом, так и в векторном виде, строить векторные контуры (path), преобразуемые в маски, сохранять результат усилий дизайнера в файле «телевизионного» формата TGA (и не только) в 32-разрядной кодировке — 24 бита на изображение и 8 бит на так называемый альфа-канал, на переменную прозрачность… Всего не перечесть, но и того, что сказано, довольно, чтобы понять: в лице Adobe Photoshop мы имеем дело с необыкновенно мощным и гибким инструментом работы с изображениями. Файл *. psd, содержащий многослойную композицию, легко и естественно импортируется в программу Adobe AfterEffects, где каждый слой превращается в отдельную видеодорожку. Последнее означает, что если телевизионная компания берет на работу компьютерного графика, владеющего только Photoshop (к счастью, до такой узкой специализации настоящих профессионалов еще далеко!), то и в этом случае вопрос с производством двухмерной анимации наполовину решен. Но можно добавить ложку дегтя в огромную бочку меда: хотя фирма Adobe стремится постоянно развивать свое знаменитое детище, все принципиальные функции редактора реализованы еще в третьей версии, а современный вид и набор операций программа приобрела с версии 5.5. Поэтому переход на актуальную восьмую версию этого программного продукта (в составе комплекса Adobe CS) не всегда мотивирован задачами производства. Тем не менее, любителям тотальной автоматизации и суперэргономичного пользовательского интерфейса все новшества от Adobe, как правило, приходятся по вкусу.

В завершение этого краткого «досье» хочется сказать, что у Photoshop имеются серьезные конкуренты. Наиболее известный и распространенный на платформе PC — Corel PhotoPaint. Он, однако, чуть более требователен к ресурсам компьютера. Кроме того, Photoshop не имеет аналогов по количеству так называемых подключаемых модулей (plug-ins) — специальных дополнений фильтрами-преобразователями и т. п., создаваемых сторонними производителями.

Следующей в ряду рассматриваемых в данной статье программ стоит Adobe Illustrator. Как и большинство фундаментальных разработок от Adobe, этот векторный редактор очень стар. Но, учитывая неизменное внимание к нему профессионалов компьютерной графики и регулярные обновления версий, это ПО вполне современно. Более того: Illustrator является абсолютным промышленным стандартом для векторной графики, по крайней мере в сфере полиграфии, где чрезвычайно важен корректный и однозначно воспроизводимый цвет и где предпочтение отдается формату EPS. Последний очень близок приложению Illustrator, так как внутренний формат программы *.ai — это и есть практически все тот же EPS, в котором специфические, сугубо «иллюстраторовские» черты сведены к предельному минимуму. Adobe Illustrator попал по вышеизложенной классификации в группу смешанных редакторов потому, что, наряду с изощренным инструментарием создания векторных изображений, он может включать в себя пикселные фрагменты. Такая черта характерна практически для всех современных векторных редакторов. Но именно в Adobe Illustrator данная идеология доведена до совершенства, во многом благодаря специфической политике Adobe. Фирма-производитель неуклонно стремится к интеграции всех своих программных продуктов в единую производственную среду со свободным обменом на уровне файлов и целых проектов. Поэтому Illustrator совершенно корректно и естественно взаимодействует с Photoshop простым перетаскиванием фрагмента из окна одного приложения на страницу другого.

К недостаткам Adobe Illustrator можно смело отнести тот факт, что в нем не всем удобно рисовать. Это можно отнести на счет особенностей интерфейса, основы которого закладывались очень давно и не могли учесть всей специфики свободного создания изображений. Безусловно, все познается в сравнении, и в принципе в Illustrator можно создать все, что угодно. Но многие художники отдают предпочтение ближайшему конкуренту — не менее известному и легендарному CorelDraw, о котором речь пойдет ниже.

Редактор смешанного типа CorelDraw пользуется устойчивой популярностью в мире программ этого класса благодаря традиционно дружественному и интуитивно понятному пользовательскому интерфейсу. Ранние версии редактора использовались в основном любителями, поскольку CorelDraw не мог обеспечить корректного экспорта в EPS, да и с растровыми форматами не все обстояло гладко. Кроме того, ветераны компьютерной графики помнят, какая чехарда творилась с пятой версией программы. Она была реализована чуть ли не в пяти отдельных подверсиях, к тому же не всегда совместимых между собой. Вероятно, это свидетельствует о кризисе, который был частично преодолен уже в шестой версии. Данная модификация CorelDraw приобрела черты интерфейса, знакомого современному пользователю, а начиная с седьмой версии можно говорить об использовании этого ПО профессиональными графиками.

До сих пор уступая своему основному конкуренту — Adobe Illustrator — в подготовке EPS, CorelDraw предоставляет пользователю чрезвычайно широкие творческие возможности. Обучение работе в этой программе занимает рекордно малые сроки по сравнению с аналогами. Программная среда CorelDraw ориентирована на получение быстрого результата минимальными усилиями. При этом программа предоставляет возможность «строгой» работы по цифрам (математическую точность позиционирования объектов, клонирование, регулирование градаций при цветовых переходах, конструирование собственных градиентных заполнителей и т. п.). Современные требования к многослойности, различным модификаторам объектов, предоставляемым стандартным размерам листа проекта, предпросмотру результатов печати с выводом их на принтер, минимальному шагу перемещения объектов и максимальному увеличению просмотра на экране — все это соблюдается. Работа с импортированными растровыми изображениями предполагает широкий выбор операций по цветокоррекции, конвертированию цветовых режимов.

С точки зрения телевизионного дизайна вклад смешанных редакторов относительно невелик. Он, как правило, сводится к прорисовке некоторых заготовок для дальнейшего использования в Photoshop, а также к более или менее строгому воспроизведению изображений логотипов, торговых марок, декоративных текстовых композиций. Можно использовать векторную мощь для конструирования контуров сложной формы с целью последующего использования их в виде выделенных областей и масок в растровых статических редакторах и программах анимационного многослойного монтажа (так называемый composing или compositing, которому в английском языке не нашлось единого термина, а в русском — адекватного перевода. — Прим. редактора). Первоначальное эскизирование в CorelDraw в ряде случаев может быть очень эффективным, так как на уровне векторного изображения композиционные решения и основные тенденции колористики не затмеваются присутствием фотореалистичных деталей и текстур.

В завершение этого пункта обзора следует отметить, что многие смешанные (а по сути, векторные) графические редакторы имеют свои отличительные особенности, иногда по-настоящему уникальные. Например, программа Deneba Canvas обладает интересным свойством, которое автор не встречал в других популярных приложениях: редактор поддерживает прозрачную векторную штриховку-заполнитель. То есть если один заштрихованный объект частично или полностью перекрыть другим (при этом желательно, чтобы рисунок заполнителя отличался от первого), то зона пересечения будет заполнена суммарной, комбинированной штриховкой. Это очень полезное свойство, особенно при подготовке иллюстраций картографического характера при одноцветном воспроизведении. Совсем иного рода второй пример. Речь идет о специфическом векторном инструменте, ориентированном на имитацию техники ручной живописи и графики, о Fractal Design Expression (последние модификации именуются Creative House Expression). Поскольку эта программа исторически составляла комплект с другой известнейшей разработкой — Fractal Design Painter (ныне продукт принадлежит корпорации Corel), в ней присутствуют впечатляющие библиотеки типов линий: мазков различных кистей, пастельных мелков, туши и т. д. Свойства линий-мазков можно изменять, достигая максимально правдоподобного и изящного эффекта. И все это великолепие существует в векторной, то есть предельно компактной, форме.

Первая версия Expression была не очень-то щедра на экспортируемые растровые форматы, а экспорт в векторные форматы уничтожал многие свойства красивых «художественных» линий. Но современная реализация (Creative House Expression 2.4.1.297a на момент написания статьи) имеет хороший набор функций экспорта, включая сохранение проекта в формате Illustrator. Безусловно, использование созданных этой программой декоративных элементов украсит любой телевизионный проект, придаст ему живость и очарование ручной графики.

Трехмерные статические программы

В этом, самом коротком пункте данной статьи, речь пойдет о расширении возможностей, прежде всего, смешанных (а по сути векторных) редакторов. Теоретически добавить третье измерение (глубину) вроде бы несложно. Практика пользовательских приложений несколько сложнее. Здесь сразу возникает целый набор проблем. Одна из них — это позиционирование курсора мыши или какого-либо иного манипулятора в локальном (связанном с масштабом данной композиции) трехмерном пространстве проекта. Ясно ведь, что мышь скользит по плоскости, без взлетов и падений… Но это не самое важное обстоятельство. Главное — это предельная ясность преобразований (программирование такого ПО требует знания не только начертательной геометрии, но и геометрической оптики) и удачная визуализация действий дизайнера. Как правило, программные средства, ориентированные на профессиональное 3D-моделирование, представляют собой мощные и разветвленные системы. Они оснащены модулями подготовки анимации и будут рассмотрены в разделе анимационных программ (см. схему на рис.1.1). А пока нас будут интересовать скромные возможности статических средств создания простейших трехмерных объектов.

Некоторые зачатки «трехмерки» есть даже в CorelDraw. Это своеобразное «выдавливание» какого-либо контура в глубину. У этой операции есть несколько управляемых параметров, но результат выглядит скорее как плакатный гротеск, нежели истинный объем.

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

Но более или менее цельно концепция трехмерного моделирования отражена в довольно старой разработке Adobe Dimension. Стремясь охватить как можно больший сегмент рынка, Adobe не оставила без внимания и данный аспект. С помощью этой программы можно создать фигуру довольно сложной формы либо методом «выдавливания», либо как тело вращения. Второй вариант — это объем, образованный полным или частичным оборотом двухмерного контура вокруг выбранной оси. Примеры типичных тел вращения: шахматная пешка или слон, цилиндрическая бутылка, колба электрической лампочки, корпус фломастера и т. п. Есть в Dimension и базовые трехмерные примитивы, например сфера и цилиндр.

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

Таким образом, Adobe Dimension дает возможность художнику или дизайнеру в кратчайшие сроки создать трехмерный объект, не вникая в тонкости моделирования. При этом данный объект может быть импортирован какой-нибудь анимационной программой или же включен в состав двухмерного анимационного проекта в виде заранее просчитанного растрового изображения. Опыт показывает, что работающие в сфере дизайна профессиональные художники отдают предпочтение именно таким скромным средствам моделирования, особенно на этапе композиционного проектирования и эскизирования. Это понятно, так как на серьезное освоение мощных систем 3D-моделирования у этих людей, как правило, нет ни времени, ни желания.

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

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

Семейство анимационных программ будет рассмотрено во второй части обзора.

Продолжение следует

Замечания и предложения по работе сервера направляйте: web.master at 625-net.ru.

© 1996—2009 «Издательство 625». Все права защищены.

e-mail: magazine at 625-net.ru, тел./факс: (495) 691-77-24, 695-95-88, схема проезда.

Свидетельство о регистрации средства массовой информации Эл № 77-2794.