Трехмерное изображение и растровые поверхности. Компьютерная графика. Анимация и виртуальная реальность

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

Разглядывая рекламный щит с изображением интерьера комнаты или рекламный ролик о мороженном, наблюдая за кадрами остросюжетного фильма, мы и не догадываемся, что за всем этим стоит кропотливая работа мастера 3d графики.

Трехмерная графика это

3D графика (трехмерная графика) - это особый вид компьютерной графики - комплекс методов и инструментов, применяемых для создания изображений 3д-объектов (трехмерных объектов).

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

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

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

Трехмерные изображения ежедневно бомбардируют нас на телевидении, в кино, при работе с компьютером и в 3D играх, с рекламных щитов, наглядно представляя всю силу и достижения 3д-графики.

Достижения современного 3д графики используются в следующих отраслях

  1. Кинематограф и мультипликация - создание трехмерных персонажей и реалистичных спецэффектов. Создание компьютерных игр - разработка 3d-персонажей, виртуальной реальности окружения, 3д-объектов для игр.
  2. Реклама - возможности 3d графики позволяют выгодно представить товар рынку, при помощи трехмерной графики можно создать иллюзию кристально-белоснежной рубашки или аппетитного фруктового мороженного с шоколадной стружкой и т.д. При этом в реального рекламируемый товар может иметь немало недостатков, которые легко скрываются за красивыми и качественными изображениями.
  3. Дизайн интерьеров - проектирование и разработка дизайна интерьера также не обходятся сегодня без трехмерной графики. 3d технологии дают возможность создать реалистичные 3д-макеты мебели (дивана, кресла, стула, комода и т.д.), точно повторяя геометрию объекта и создавая имитацию материала. При помощи трехмерной графики можно создать ролик, демонстрирующий все этажи проектируемого здания, который возможно еще даже не начал строиться.

Этапы создания трехмерного изображения


Для того чтобы получить 3д-изображение объекта необходимо выполнить следующие шаги

  1. Моделирование - построение математической 3д-модели общей сцены и ее объектов.
  2. Текстурирование включает наложение текстур на созданные модели, настройка материалов и придание моделям реалистичности.
  3. Настройка освещения .
  4. (движущихся объектов).
  5. Рендеринг - процесс создания изображения объекта по предварительно созданной модели.
  6. Композитинг или компоновка - постобработка полученного изображения.

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

Наиболее распространенными программными продуктами для 3d моделирования являются: Autodesk 3D max, Pixologic Zbrush, Blender.

Текстурирование представляет собой наложение на поверхность созданной трехмерной модели растрового или векторного изображения, позволяющего отобразить свойства и материал объекта.


Освещение
- создание, установка направления и настройка источников освещения в созданной сцене. Графические 3д-редакторы, как правило, используют следующие виды источников света: spot light (расходящиеся лучи), omni light (всенаправленный свет), directional light (параллельные лучи) и др. Некоторые редакторы дают возможность создания источника объемного свечения (Sphere light).

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

Если рассматривать компьютерную графику в широком смысле, то можно выделить три класса задач, решаемых средствами компьютерной графики:
1. Перевод описания в изображение.
2. Перевод изображения в описание (задача распознавания образов).
3. Редактирование изображения.
Хотя сфера применения компьютерной графики очень широка, тем не менее, можно выделить несколько основных направлений, где средства компьютерной графики стали важнейшими для решения задач:
1. Иллюстративное, самое широкое из направлений, охватывающее задачи от визуализации данных до создания анимационных фильмов.
2. Саморазвивающее - компьютерная графика позволяет расширять и совершенствовать свои возможности.
3. Исследовательское - создание средствами компьютерной графики изображения абстрактных понятий либо моделей, физического аналога которых пока не существует с целью корректировки их параметров.


Следует, однако, отметить, что выделение этих направлений весьма условно и может быть расширено и детализировано. Основными областями применения компьютерной графики считаются:
1. Отображение информации.
2. Проектирование.
3. Моделирование.
4. Создание пользовательского интерфейса.
Большинство современных графических систем используют принцип конвейерной архитектуры. Построение некоторого изображения на экране монитора происходит поточечно, причем каждая точка проходит некоторый фиксированный цикл обработки. Сначала первая точка проходит первый этап этого цикла, затем переходит на второй этап, в это время вторая точка начинает прохождение первого этапа обработки и так далее, то есть любая графическая система параллельно обрабатывает несколько точек формируемого изображения.


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


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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Подобные документы

    Компьютерная графика как наука, предметом изучения которой является создание, хранение и обработка моделей и их изображений с помощью ЭВМ. Области применения графических редакторов: Adobe Photoshop и Illustrator, Corel Draw. Растровая и векторная графика.

    презентация , добавлен 17.01.2012

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

    реферат , добавлен 05.12.2010

    Представление графических данных. Растровая, векторная и фрактальная виды компьютерной графики. Цвет и цветовые модели: метод кодирования цветовой информации для ее воспроизведения на экране монитора. Основные программы для обработки растровой графики.

    реферат , добавлен 01.08.2010

    Механизм графического представления данных. Виды компьютерной графики: фрактальная, трехмерная, растровая, векторная. Разрешение экранного изображения, понятие линиатуры. Связь между параметрами изображения и размером файла. Динамический диапазон.

    реферат , добавлен 27.12.2012

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

    контрольная работа , добавлен 07.06.2010

    Понятия компьютерной графики. Преимущества формата GIF. Отличительные особенности программы "Corel Draw". Команды главного меню Adobe Photoshop. Инструменты и их действия. Описание применения графического редактора Photoshop для обработки снимков.

    курсовая работа , добавлен 18.04.2015

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

    За последний десяток лет графические карты, позже названные 3D-акселераторами ,
    прошли немалый путь развития — от первых SVGA-ускорителей, о 3D вообще ничего
    не знавших, и до самых современных игровых "монстров", берущих на себя
    все функции, связанные с подготовкой и формированием трехмерного изображения,
    которое производители именуют "кинематографическим". Естественно, с
    каждым новым поколением видеокарт создатели добавляли им не только дополнительные
    мегагерцы и мегабайты видеопамяти, но и множество самых разных функций и эффектов.
    Давайте же посмотрим, чему , а главное, зачем научились акселераторы
    последних лет, и что это дает нам, любителям трехмерных игр.

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

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

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

    Рассмотрим трансформацию координат . У нас имеется трехмерный мир, в котором расположены разные трехмерные же объекты, а в итоге нужно получить двумерное плоское изображение этого мира на мониторе. Поэтому все объекты проходят несколько стадий преобразования в разные системы координат, называемых еще пространствами (spaces ). Вначале локальные, или модельные, координаты каждого объекта преобразовываются в глобальные , или мировые, координаты. То есть, используя информацию о расположении, ориентации, масштабе и текущем кадре анимации каждого объекта, программа получает уже набор треугольников в единой системе координат. Затем следует преобразование в систему координат камеры (camera space ), с помощью которой мы смотрим на моделируемый мир. После чего отсчет будет начинаться из фокуса этой камеры — по сути как бы "из глаз" наблюдателя. Теперь легче всего исключить из дальнейшей обработки целиком невидимые (отбраковка, или culling ) и "обрезать" частично видимые (отсечение, или clipping ) для наблюдателя фрагменты сцены.

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

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

    Теперь, когда нам понятно устройство 3D-конвейера в общем виде, давайте взглянем
    на архитектурные различия разных поколений 3D-ускорителей. Каждая стадия 3D-конвейера
    очень ресурсоемка, требует миллионов и миллиардов операций для получения одного
    кадра изображения, причем двумерные этапы текстурирования и растеризации гораздо
    "прожорливее" геометрической обработки на ранних, векторных, стадиях
    конвейера. Так что перенос как можно большего количества стадий в "видеожелезо"
    благотворно влияет на скорость обработки 3D-графики и значительно разгружает CPU.
    Первое поколение ускорителей брало на свои плечи только последний этап — текстурирование
    и растеризацию, все предыдущие шаги программа должна была просчитать сама с помощью
    CPU. Рендеринг происходил куда быстрее, чем при полном отсутствии 3D-акселерации,
    ведь видеокарта уже выполняла наиболее тяжелую часть работы. Но все же с увеличением
    сложности сцен в 3D-играх программная трансформация и освещение становились узким
    горлышком, препятствующим увеличению скорости. Поэтому в 3D-акселераторы начиная
    с первых моделей NVidia GeForce и ATI Radeon был добавлен блок, именуемый T &L-блоком .
    Как видно из названия, он отвечает за трансформацию и освещение ,
    т. е. теперь и за начальные стадии 3D-конвейера. Его даже правильнее называть
    TCL-блоком (Transformation Clipping Lighting ), поскольку
    отсечение — тоже его задача. Таким образом, игра, использующая аппаратный T&L,
    практически полностью освобождает центральный процессор от работы над графикой,
    а значит, появляется возможность "нагрузить" его другими расчетами,
    будь то физика или искусственный интеллект.

    Казалось бы, все хорошо и чего еще желать? Но не стоит забывать, что любой перенос функций "в железо" означает отказ от гибкости, присущей программным решениям. И с появлением аппаратного T&L у программистов и дизайнеров, желающих реализовать какой-то необычный эффект, осталось лишь три варианта действий: они могли либо полностью отказаться от T&L и вернуться к медленным, но гибким программным алгоритмам, либо пытаться вмешиваться в этот процесс, выполняя постобработку изображения (что не всегда возможно и уж точно очень медленно)… либо ждать реализации нужной функции в следующем поколении видеокарт. Производителей аппаратуры такой расклад тоже не устраивал — ведь каждое дополнительное T&L-расширение приводит к усложнению графического чипа и "раздуванию" драйверов видеокарт.

    Как мы видим, не хватало способа гибко, на "микроуровне", управлять видеокартой. И такая возможность была подсказана профессиональными пакетами для создания 3D-графики. Называется она шейдер (shader ). По сути, шейдер — это небольшая программа, состоящая из набора элементарных операций, часто применяющихся в 3D-графике. Программа, загружаемая в акселератор и непосредственно управляющая работой самого графического процессора. Если раньше программист был ограничен набором заранее определенных способов обработки и эффектов, то теперь он может составлять из простых инструкций любые программы, позволяющие реализовывать самые разные эффекты.

    По своим функциям шейдеры делятся на две группы: вершинные (vertex shaders )
    и пиксельные (pixel shaders ). Первые заменяют собой всю функциональность
    T&L-блока видеокарты и, как видно из названия, работают с вершинами треугольников.
    В последних моделях акселераторов этот блок фактически убран — его эмулирует
    видеодрайвер с помощью вершинных шейдеров. Пиксельные же шейдеры предоставляют
    гибкие возможности для программирования блока мультитекстурирования и работают
    уже с отдельными пикселами экрана.

    Шейдеры также характеризуются номером версии — каждая последующая добавляет к предыдущим все новые и новые возможности. Наиболее свежей спецификацией пиксельных и вершинных шейдеров на сегодняшний день является версия 2.0, поддерживаемая DirectX 9, — на нее и будут ориентироваться как производители акселераторов, так и разработчики новых игр. На их поддержку аппаратурой стоит обращать внимание и пользователям, желающим приобрести современную игровую видеокарту. Тем не менее экспансия игр, построенных на шейдерных технологиях, только начинается, так что и более старые вершинные шейдеры (1.1), и пиксельные (1.3 и 1.4) будут использоваться еще как минимум год, хотя бы для создания сравнительно простых эффектов — пока DirectX 9-совместимые акселераторы не получат большего распространения.

    Первые шейдеры состояли всего из нескольких команд, и их нетрудно было написать на низкоуровневом языке ассемблера. Но с ростом сложности шейдерных эффектов, насчитывающих иногда десятки и сотни команд, возникла необходимость в более удобном, высокоуровневом языке написания шейдеров. Их появилось сразу два: NVidia Cg (C for graphics) и Microsoft HLSL (High Level Shading Language) — последний является частью стандарта DirectX 9. Достоинства и недостатки этих языков и прочие нюансы будут интересны только программистам, так что подробнее на них мы останавливаться не станем.

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

    • самая свежая версия DirectX, на данный момент это DirectX 9.0b;
    • видеокарта с поддержкой DirectX 9;
    • самые свежие драйверы видеокарты (в более старых некоторые функции могут отсутствовать);
    • игра, использующая все эти возможности.

    Тут же хотелось бы развеять вероятные заблуждения. Некоторые трактуют популярный ныне термин "DirectX 9-совместимая видеокарта" следующим образом: "такая видеокарта будет работать и раскрывать все свои возможности только под API DirectX 9", или же "DirectX 9 стоит устанавливать на компьютер только с такой видеокартой". Это не совсем верно. Подобное определение скорее означает: "данная видеокарта обладает возможностями, требуемыми от нее спецификацией DirectX 9".

    Глоссарий 3D-графики

    Имитация меха с помощью шейдеров

    Набор библиотек, интерфейсов и соглашений для работы с 3D-графикой. Сейчас широко
    используются два 3D API: открытый и кросс-платформенный OpenGL (Open Graphics
    Library) и Microsoft Direct3D (он же DirectX Graphics), являющийся частью универсального
    мультимедийного API DirectX.

    3D-акселератор, или 3D-ускоритель (3D-accelerator)

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

    3D-конвейер, или конвейер рендеринга (3D-pipeline, или rendering pipeline)

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

    3D-сцена

    Часть виртуального трехмерного мира, подлежащая рендерингу в данный момент времени.

    Depth of Field (глубина резкости)

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

    Displacement mapping (текстурирование картами смещения)

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

    MIP-mapping

    Вспомогательный метод улучшения качества и повышения скорости текстурирования, заключающийся в создании нескольких вариантов текстуры с уменьшенным разрешением (например, 128 128, 64 64, 32 32 и т. д.), называемых MIP-уровнями. По мере удаления объекта будут выбираться все более "мелкие" варианты текстуры.

    Motion-blur (он же временной антиалиасинг)

    Довольно новая методика более реалистичной передачи движения за счет "смазывания" изображения объектов в направлении их перемещения. Зрители привыкли к данному эффекту, характерному для кино, поэтому без него картинка кажется неживой даже при высоких FPS. Реализуется motion-blur через многократную отрисовку объекта в кадр в разных фазах его движения или же "размазыванием" изображения уже на пиксельном уровне.

    Z-буфер (Z-buffer)

    Z-буферизация — один из методов удаления невидимых участков изображения. При
    его использовании для каждого пиксела на экране в видеопамяти хранится расстояние
    от этой точки до наблюдателя. Само расстояние называется глубиной сцены, а этот
    участок памяти — Z-буфером. При выводе очередного пиксела на экран его глубина
    сравнивается с сохраненной в Z-буфере глубиной предыдущего пиксела с такими же
    координатами, и если она больше, то текущий пиксел не рисуется — он будет невидимым.
    Если же меньше, то его цвет заносится в буфер кадра (frame buffer), а новая глубина
    — в Z-буфер. Таким образом гарантируется перекрывание дальних объектов более
    близкими.

    Альфа-канал (alpha channel) и альфа-смешивание (alpha-blending).

    В текстуре наряду с информацией о цвете в RGB-формате для каждого пиксела, может храниться степень его прозрачности, называемая альфа-каналом. При рендеринге цвет нарисованных ранее пикселов будет с разной степенью "проступать" и смешиваться с цветом выводимого пиксела, что позволяет получить изображение с различным уровнем прозрачности. Это и называется альфа-смешиванием. Такой прием используется очень часто: для моделирования воды, стекла, тумана, дыма, огня и прочих полупрозрачных объектов.

    Антиалиасинг (antialiasing)

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

    Детальные текстуры (detail textures)

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

    Кадровый буфер (frame buffer)

    Участок видеопамяти, в котором производится работа по формированию изображения. Обычно используются два (реже три) буфера кадра: один (передний, или front-buffer) отображается на экране, а во второй (задний, или back-buffer) выполняется рендеринг. Как только очередной кадр изображения будет готов, они поменяются ролями: второй буфер будет показан на экране, а первый перерисован заново.

    Карты освещенности (lightmap)

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

    Карты среды (environment mapping)

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

    Мультитекстурирование (multitexturing)

    Наложение нескольких текстур за один проход акселератора. Например, основной текстуры,
    карты освещенности и карты с детальной текстурой. Современные видеокарты умеют
    обрабатывать как минимум 3—4 текстуры за раз. Если мультитекстурирование не поддерживается
    (или необходимо наложить больше слоев текстур, чем это может сделать акселератор
    "в один прием"), то используется несколько проходов, что, естественно,
    гораздо медленнее.

    Освещение (lighting)

    Процесс расчета цвета и степени освещенности пиксела каждого треугольника
    в зависимости от расположенных рядом источников света с использованием одного
    из методов затенения. Часто применяются следующие методы:

    • плоское затенение (flat shading). Треугольники имеют одинаковую освещенность по всей поверхности;
    • затенение Гуро (Gouraud shading). Информация об уровне освещенности и цвете, рассчитанная для отдельных вершин треугольника, просто интерполируется по поверхности всего треугольника;
    • затенение Фонга (Phong shading). Освещение рассчитывается индивидуально для каждого пиксела. Наиболее качественный метод.

    Пиксел (pixel)

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

    Пространство (space), или система координат

    Некоторая часть трехмерного мира, в которой отсчет ведется от какого-то своего начала координат. Обязательно есть система мировых (world) координат, относительно начала которой измеряются положение и ориентация всех других объектов в 3D-мире, при этом у каждого из них есть своя система координат.

    Процедурные текстуры

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

    Рельефное текстурирование (bump mapping)

    Эффект придания поверхности шероховатостей рельефа с помощью дополнительной текстуры, называемой картой рельефа (bump map). Геометрия поверхности при этом не меняется, так что эффект хорошо различим только при наличии динамических источников света.

    Рендеринг (rendering)

    Процесс визуализации трехмерного изображения. Состоит из множества этапов, в совокупности называемых конвейером.

    Тексел (texel)

    Пиксел, но не экрана, а текстуры. Минимальный ее элемент.

    Текстурирование, или наложение текстур (texturing, или texture mapping)

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

    Текстура (texture)

    Двумерное изображение — bitmap, "натягиваемое" на 3D-объект. С помощью текстур задаются самые различные параметры материала, из которого состоит объект: его рисунок (наиболее традиционное применение), степень освещенности разных его частей (карта освещенности, или lightmap), способность отражать свет (specular map) и рассеивать его (diffuse map), неровности (bump map) и др.

    Тесселяция (tesselation)

    Процесс деления сложных полигонов и кривых поверхностей, описанных математическими функциями, на приемлемые для 3D-акселератора треугольники. Шаг этот зачастую необязательный, скажем, 3D-модели в большинстве игр обычно и так уже состоят из треугольников. Но вот, например, закругленные стены в Quake III: Arena — пример объекта, для которого тесселяция необходима.

    Точка, или вершина (vertex)

    Точка в пространстве, заданная тремя координатами (x, y, z). Отдельные точки редко используются, но они являются основой для более сложных объектов: линий, треугольников, точечных спрайтов. Кроме самих координат, к точке могут "привязываться" другие данные: координаты текстуры, свойства освещения и тумана и т. д.

    Трансформация

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

    Треугольник (triangle)

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

    Фильтрация текстур (texture filtering)

    Метод улучшения качества текстурирования при изменении расстояния до наблюдателя. Простейший метод — билинейная (bilinear) фильтрация — использует усредненное значение цвета четырех смежных текселов текстуры. Более сложный — трилинейная (trilinear) фильтрация — задействует также информацию из MIP-уровней. Самый современный и качественный (а заодно и самый медленный) метод — анизотропная (anisotropic) фильтрация, который подсчитывает результирующее значение, применяя целый набор (обычно от 8 до 32) текселов, расположенных рядом.

    Шейдер (шейдер)

    Небольшая программа для графического процессора (GPU) акселератора, задающая
    ему способ обработки трехмерной графики.

    Некоторые возможности, реализуемые

    С помощью шейдеров

    • Оптически точное (попиксельное) освещение и мягкие тени от всех объектов,
      произвольные модели освещения;
    • различные эффекты отражения и преломления лучей для моделирования
      воды, льда, стекла, витражей, подводных бликов и т. д.;
    • реалистичная рябь и волны на воде;
    • "кинематографические" эффекты Depth of Field (глубина
      резкости
      ) и Motion blur ;
    • качественная, детальная анимация скелетных моделей (состоящих из системы
      управляющих анимацией модели "косточек"), мимика;
    • так называемый "нефотореалистичный рендеринг" (Non-Photorealistic
      Rendering, NPR): имитация стилей рисования различных художников, эффект
      карандашного наброска или классической, рисованной 2D-анимации;
    • реалистичная имитация ткани, меха и волос;
    • процедурные текстуры (в том числе анимационные), не требующие затрат
      CPU и загрузки каждого кадра в видеопамять;
    • полноэкранные фильтры постобработки изображения: дымка, гало, капли
      дождя на стекле, шумовой эффект и т. д.;
    • объемный рендеринг: более реалистичные дым и огонь;
    • многое другое.
    Интересные ссылки

    www.scene.org
    Громадный архив творчества сотен "демомейкерских" групп и отдельных
    мастеров демо-сцены за последние годы. Для тех, кто не знаком с этим явлением,
    поясним: "demo" в данном случае называется программа, генерирующая
    в реальном времени небольшой (обычно 5—10 минут) ролик с графикой, звуком
    и музыкой. Демо последних лет активно используют самые свежие технические
    наработки и, конечно же, шейдеры.

    www.nvidia.com/view.asp?PAGE=demo_catalog
    Каталог "больших" технологических демок от NVidia.

    www.nvidia.com/search.asp?keywords=Demo
    Все технодемки NVidia, в том числе очень простые, состоящие из одного
    эффекта.

    www.cgshaders.org
    Примеры шейдерных эффектов, написанных на языке Cg.

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

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

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

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

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

    Растровая графика

    Основным (наименьшим) элементом растрового изображения является точка . Если изображение экранное, то эта точка называется пикселом . Каждый пиксел растрового изображения имеет свойства: размещение и цвет. Чем больше количество пикселей и чем меньше их размеры, тем лучше выглядит изображение. Большие объемы данных - это основная проблема при использовании растровых изображений. Для активных работ с большеразмерными иллюстрациями типа журнальной полосы требуются компьютеры с исключительно большими размерами оперативной памяти (128 Мбайт и более). Разумеется, такие компьютеры должны иметь и высокопроизводительные процессоры. Второй недостаток растровых изображений связан с невозможностью их увеличения для рассмотрения деталей. Поскольку изображение состоит из точек, то увеличение изображения приводит только к тому, что эти точки становятся крупнее и напоминают мозаику. Никаких дополнительных деталей при увеличении растрового изображения рассмотреть не удается. Более того, увеличение точек растра визуально искажает иллюстрацию и делает её грубой. Этот эффект называется пикселизацией.

    Векторная графика

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

    Фрактальная графика

    Фрактал - это рисунок, который состоит из подобных между собой элементов. Существует большое количество графических изображений, которые являются фракталами: треугольник Серпинского, снежинка Коха, "дракон" Хартера-Хейтуея, множество Мандельброта. Построение фрактального рисунка осуществляется по какому-то алгоритму или путём автоматической генерации изображений при помощи вычислений по конкретным формулам. Изменения значений в алгоритмах или коэффициентов в формулах приводит к модификации этих изображений. Главным преимуществом фрактальной графики есть то, что в файле фрактального изображения сохраняются только алгоритмы и формулы.

    Трёхмерная графика

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

    Основные понятия компьютерной графики

    В компьютерной графике с понятием разрешения обычно происходит больше всего путаницы, поскольку приходится иметь дело сразу с несколькими свойствами разных объектов. Следует четко различать: разрешение экрана, разрешение печатающего устройства и разрешение изображения. Все эти понятия относятся к разным объектам. Друг с другом эти виды разрешения никак не связаны пока не потребуется узнать, какой физический размер будет иметь картинка на экране монитора, отпечаток на бумаге или файл на жестком диске.
    Разрешение экрана - это свойство компьютерной системы (зависит от монитора и видеокарты) и операционной системы (зависит от настроек Windows). Разрешение экрана измеряется в пикселах (точках) и определяет размер изображения, которое может поместиться на экране целиком.
    Разрешение принтера - это свойство принтера, выражающее количество отдельных точек, которые могут быть напечатаны на участке единичной длины. Оно измеряется в единицах dpi (точки на дюйм) и определяет размер изображения при заданном качестве или, наоборот, качество изображения при заданном размере.
    Разрешение изображения - это свойство самого изображения. Оно тоже измеряется в точках на дюйм - dpi и задается при создании изображения в графическом редакторе или с помощью сканера. Так, для просмотра изображения на экране достаточно, чтобы оно имело разрешение 72 dpi, а для печати на принтере - не меньше как 300 dpi. Значение разрешения изображения хранится в файле изображения.
    Физический размер изображения определяет размер рисунка по вертикали (высота) и горизонтали (ширина) может измеряться как в пикселах, так и в единицах длины (миллиметрах, сантиметрах, дюймах). Он задается при создании изображения и хранится вместе с файлом. Если изображение готовят для демонстрации на экране, то его ширину и высоту задают в пикселах, чтобы знать, какую часть экрана оно занимает. Если изображение готовят для печати, то его размер задают в единицах длины, чтобы знать, какую часть листа бумаги оно займет.
    Физический размер и разрешение изображения неразрывно связаны друг с другом. При изменении разрешения автоматически меняется физический размер.

    При работе с цветом используются понятия: глубина цвета (его еще называют цветовое разрешение) и цветовая модель.
    Для кодирования цвета пиксела изображения может быть выделено разное количество бит. От этого зависит то, сколько цветов на экране может отображаться одновременно. Чем больше длина двоичного кода цвета, тем больше цветов можно использовать в рисунке. Глубина цвета - это количество бит, которое используют для кодирования цвета одного пиксела. Для кодирования двухцветного (черно-белого) изображения достаточно выделить по одному биту на представление цвета каждого пиксела. Выделение одного байта позволяет закодировать 256 различных цветовых оттенков. Два байта (16 битов) позволяют определить 65536 различных цветов. Этот режим называется High Color. Если для кодирования цвета используются три байта (24 бита), возможно одновременное отображение 16,5 млн цветов. Этот режим называется True Color. От глубины цвета зависит размер файла, в котором сохранено изображение.

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

    Цветовая модель RGB

    Наиболее проста для понимания и очевидна модель RGB. В этой модели работают мониторы и бытовые телевизоры. Любой цвет считается состоящим из трех основных компонентов: красного (Red), зеленого (Green) и синего (Blue) . Эти цвета называются основными.

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

    Метод получения нового оттенка суммированием яркостей составляющих компонентов называют аддитивным методом . Он применяется всюду, где цветное изображение рассматривается в проходящем свете («на просвет»): в мониторах, слайд-проекторах и т.п. Нетрудно догадаться, что чем меньше яркость, тем темнее оттенок. Поэтому в аддитивной модели центральная точка, имеющая нулевые значения компонентов (0,0,0), имеет черный цвет (отсутствие свечения экрана монитора). Белому цвету соответствуют максимальные значения составляющих (255, 255, 255). Модель RGB является аддитивной, а ее компоненты: красный (255,0,0), зеленый (0,255,0) и синий (0,0,255) - называют основными цветами .

    Цветовая модель CMYK

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

    Поэтому для подготовки печатных изображений используется не аддитивная (суммирующая) модель, а субтрактивная (вычитающая) модель . Цветовыми компонентами этой модели являются не основные цвета, а те, которые получаются в результате вычитания основных цветов из белого:
    голубой (Cyan) = Белый - красный = зелёный + синий (0,255,255)
    пурпурный (сиреневый) (Magenta) = Белый - зелёный = красный + синий (255,0,255)
    жёлтый (Yellow) = Белый - синий = красный + зелёный (255,255,0)
    Эти три цвета называются дополнительными , потому что они дополняют основные цвета до белого.
    Существенную трудность в полиграфии представляет черный цвет. Теоретически его можно получить совмещением трех основных или дополнительных красок, но на практике результат оказывается негодным. Поэтому в цветовую модель CMYK добавлен четвертый компонент - черный . Ему эта система обязана буквой К в названии (blacK).

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

    Цветовая модель НSB

    Некоторые графические редакторы позволяют работать с цветовой моделью HSB. Если модель RGB наиболее удобна для компьютера, а модель CMYK - для типографий, то модель HSB наиболее удобна для человека. Она проста и интуитивно понятна. В модели HSB тоже три компонента: оттенок цвета (Hue) , насыщенность цвета (Saturation) и яркость цвета (Brightness) . Регулируя эти три компонента, можно получить столь же много произвольных цветов, как и при работе с другими моделями. Оттенок цвета указывает номер цвета в спектральной палитре. Насыщенность цвета характеризует его интенсивность - чем она выше, тем "чище" цвет. Яркость цвета зависит от добавления чёрного цвета к данному - чем её больше, тем яркость цвета меньше.

    Цветовая модель HSB удобна для применения в тех графических редакторах, которые ориентированы не на обработку готовых изображений, а на их создание своими руками. Существуют такие программы, которые позволяют имитировать различные инструменты художника (кисти, перья, фломастеры, карандаши), материалы красок (акварель, гуашь, масло, тушь, уголь, пастель) и материалы полотна (холст, картон, рисовая бумага и пр.). Создавая собственное художественное произведение, удобно работать в модели HSB, а по окончании работы его можно преобразовать в модель RGB или CMYK, в зависимости от того, будет ли оно использоваться как экранная или печатная иллюстрация. Значение цвета выбирается как вектор, выходящий из центра окружности. Точка в центре соответствует белому (нейтральному) цвету, а точки по периметру - чистым цветам. Направление вектора определяет цветовой оттенок и задается в модели HSB в угловых градусах. Длина вектора определяет насыщенность цвета. Яркость цвета задают на отдельной оси, нулевая точка которой имеет черный цвет.

    Графические форматы

    Любое графическое изображение сохраняется в файле. Способ размещения графических данных при их сохранении в файле определяет графический формат файла. Различают форматы файлов растровых изображений и векторных изображений.
    Растровые изображения сохраняются в файле в виде прямоугольной таблицы, в каждой клеточке которой записан двоичный код цвета соответствующего пикселя. Такой файл хранит данные и о других свойствах графического изображения, а также алгоритме его сжатия.
    Векторные изображения сохраняются в файле как перечень объектов и значений их свойств - координат, размеров, цветов и тому подобное.
    Как растровых, так и векторных форматов графических файлов существует достаточно большое количество. Среди этого многообразия форматов нет того идеального, какой бы удовлетворял всем возможным требованиям. Выбор того или другого формата для сохранения изображения зависит от целей и задач работы с изображением. Если нужна фотографическая точность воссоздания цветов, то преимущество отдают одному из растровых форматов. Логотипы, схемы, элементы оформления целесообразно хранить в векторных форматах. Формат файла влияет на объем памяти, который занимает этот файл. Графические редакторы позволяют пользователю самостоятельно избирать формат сохранения изображения. Если вы собираетесь работать с графическим изображением только в одном редакторе, целесообразно выбрать тот формат, какой редактор предлагает по умолчанию. Если же данные будут обрабатываться другими программами, стоит использовать один из универсальных форматов.
    Существуют универсальные форматы графических файлов, которые одновременно поддерживают и векторные, и растровые изображения.
    Формат PDF (англ. Portable Document Format - портативный формат документа) разработан для работы с пакетом программ Acrobat. В этом формате могут быть сохранены изображения и векторного, и растрового формата, текст с большим количеством шрифтов, гипертекстовые ссылки и даже настройки печатающего устройства. Размеры файлов достаточно малы. Он позволяет только просмотр файлов, редактирование изображений в этом формате невозможно.
    Формат EPS (англ. Encapsulated PostScript - инкапсулированный постскриптум) - формат, который поддерживается программами для разных операционных систем. Рекомендуется для печати и создания иллюстраций в настольных издательских системах. Этот формат позволяет сохранить векторный контур, который будет ограничивать растровое изображение.

    Форматы файлов растровой графики

    Существует несколько десятков форматов файлов растровых изображений. У каждого из них есть свои позитивные качества, которые определяют целесообразность его использования при работе с теми или другими программами. Рассмотрим самые распространенные из них.
    Достаточно распространенным является формат Bitmap (англ. Bit map image - битовая карта изображения). Файлы этого формата имеют расширение .BMP . Данный формат поддерживается практически всеми графическими редакторами растровой графики. Основным недостатком формата BMP является большой размер файлов из-за отсутствия их сжатия.
    Для хранения многоцветных изображений используют формат JPEG (англ. Joint Photographic Expert Group - объединенная экспертная группа в отрасли фотографии), файлы которого имеют расширение .JPG или .JPEG . Позволяет сжать изображение с большим коэффициентом (до 500 раз) за счет необратимой потери части данных, что значительно ухудшает качества изображения. Чем меньше цветов имеет изображение, тем хуже эффект от использования формата JPEG, но для цветных фотографии на экране это малозаметно.
    Формат GIF (англ. Graphics Interchange Format - графический формат для обмена) самый уплотнённый из графических форматов, что не имеет потери данных и позволяет уменьшить размер файла в несколько раз. Файлы этого формата имеют расширение .GIF . В этом формате сохраняются и передаются малоцветные изображения (до 256 оттенков), например, рисованные иллюстрации. У формата GIF есть интересные особенности, которые позволяют сохранить такие эффекты, как прозрачность фона и анимацию изображения. GIF-формат также позволяет записывать изображение "через строку", благодаря чему, имея только часть файла, можно увидеть изображение полностью, но с меньшей разрешающей способностью.
    Графический формат PNG (англ. Portable Network Graphic - мобильная сетевая графика) - формат графических файлов, аналогичный формату GIF, но который поддерживает намного больше цветов.
    Для документов, которые передаются по сети Интернет, очень важным есть незначительный размер файлов, поскольку от него зависит скорость доступа к информации. Поэтому при подготовке Web-страниц используют типы графических форматов, которые имеют высокий коэффициент сжатия данных: .JPEG, .GIF, .PNG .
    Особенно высокие требования к качествам изображений предъявляются в полиграфии. В этой отрасли применяется специальный формат TIFF (англ. Tagged Image File Format - теговый (с пометками) формат файлов изображений). Файлы этого формата имеют расширение .TIF или .TIFF . Они обеспечивают сжатие с достаточным коэффициентом и возможность хранить в файле дополнительные данные, которые на рисунке расположены во вспомогательных слоях и содержат аннотации и примечания к рисунку.
    Формат PSD (англ. PhotoShop Document).Файлы этого формата имеют расширение .PSD . Это формат программы Photoshop, который позволяет записыватьрастровое изображение со многими слоями, дополнительными цветовыми каналами, масками, т.е. этот формат может сохранить всё, что создал пользователь видимое на мониторе.

    Форматы файлов векторной графики

    Форматов файлов векторной графики существует намного меньше. Приведем примеры самых распространенных из них.
    WMF (англ. Windows MetaFile - метафайл Windows) - универсальный формат для Windows-дополнений. Используется для хранения коллекции графических изображений Microsoft Clip Gallery. Основные недостатки - искажение цвета, невозможность сохранения ряда дополнительных параметров объектов.
    CGM (англ. Computer Graphic Metafile - метафайл компьютерной графики) - широко использует стандартный формат векторных графических данных в сети Internet.
    CDR (англ. CorelDRaw files - файлы CorelDRaw) - формат, который используется в векторном графическом редакторе Corel Draw.
    AI - формат, который поддерживается векторным редактором Adobe Illustrator.