Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Лекция № 6 Основные форматы графических файлов





 

Можно насчитать около 50 различных графических форматов. Рассмотрим только наиболее известные.

 

PCX

 

Формат растровый, один из самых старых и распространенных, хотя и не признанный в качестве официального стандарта. Первоначально использовался в программе Paintbrush фирмы Zsoft. Расширение - * .pcx. Поддерживается почти всеми программами растровой графики. Имеет много версий (около 5). Поэтому современная версия для 24-разрядного цветового режима не воспринимается старыми программами. Существуют версии для 1-2-4-8-24-битового цвета. Изображения могут быть монохромными, с палитрами цветов или с полными 24-битовыми цветами RGB. Оттенки серого не воспроизводятся, шкалы для отображения оттенков серого в формате нет. Формат аппаратно зависим (EGA, VGA). В основном новые версии выпускались в связи с появлением новых адаптеров. Используется сжатие методом RLE (групповое сжатие). За счет этого размер файла уменьшается на 40-70% для 16 и менее цветов, на 10-30% для 256 цветов. Сжатие используется всегда.

Файл формата PCX содержит 3 части: заголовок, растровые данные и (в более поздних версиях) палитру с количеством цветов до 256. В заголовке 128 байт. Там записаны номер версии, информация о разрешении (в dpi) отпечатанного или отсканированного изображения, информация о размерах (в пикселах), количестве байтов на строку развертки, количестве битов на пиксел и количестве цветовых плоскостей. В заголовке может быть информация о наличии палитры и код, указывающий на то, какая палитра используется. В ранних версиях для 4-и 16-цветных изображений информация о палитре была в заголовке. Это порождает несовместимость.

Формат целесообразно применять для нефотореалистических изображений (фотореалистические изображения плохо сжимаются). Основное достоинство - широкая распространенность. Ограничения и недостатки:

· цветовая палитра до 256 цветов;

· не поддерживаются изображения с оттенками серого;

· не поддерживаются цвета CMYK и другие системы цветов, отличные от RGB;

· размер изображения до 64000 64000 пикселов;

· многообразие вариантов порождает проблемы считывания (воспроизведения);

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

· формат поддерживается только на PC-платформе, не поддерживается на Macintosh и в UNIX. Это самый распространенный PC-формат.

 

GIF

 

Формат растровый. GIF - Graphics Image Format. Он был предложен для сети Compuserve, по которой обмениваются различной информацией, в том числе в большом объеме - графическими файлами. Расширение - *. gif. Понимается почти всеми растровыми редакторами, большинством издательских пакетов, векторными редакторами, поддерживающими растровые объекты. Для сжатия используется алгоритм LZW.

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

Файл формата GIF состоит из последовательности блоков. Блок заголовка (6 байт) хранит тип файла (GIF) и версию (87а или 89а). Блок дескриптора логического экрана (LSD - logical screen device) описывает область устройства (дисплей или принтер) для вывода следующего за ним изображения (или изображений - файлы GIF могут хранить несколько изображений, идущих последовательно как слайды). Указывается в пикселах ширина и высота логического экрана для вывода изображений, цвет фона (цвет логического экрана), будет ли для вывода изображения использована глобальная (единая для всех изображений) таблица цветов, коэффициент прямоугольности (ширина и высота) пикселов начального изображения. Блок дескриптора изображения задает размеры изображения и его позицию на логическом экране (относительно левого верхнего угла) и информирует, будет ли использоваться локальная таблица цветов. Таких блоков может быть 1 или более. Файл содержит по крайней мере 1 таблицу цветов. Она может быть глобальной (единственной) и/или локальной (несколько таблиц). После всей служебной информации следует сжатый методом LZW блок данных изображения. Завершает файл блок концевика, который носит только индикаторный характер. Последняя версия (89а) имеет расширения, позволяющие добавлять к рисунку текст аннотации. Причем можно сделать аннотацию как отображаемую на экране, так и не отображаемую. Этот блок размещается (если он есть) перед данными.

Файлы GIF компактны. Их достоинство - многоплатформность, свободное распространение, возможность хранения множественных изображений, сочетания изображений и текста. Ограничения и недостатки:

· 24-битный цвет поддерживает только до 256 цветов;

· отсутствует возможность сохранения градаций серого;

· не поддерживается система цветов CMYK;

· размер изображения - до 64К 64К пикселов.

 

TIFF

 

Формат растровый. TIFF (Tagged Image File Format) дословно переводится как формат файла помеченного изображения. Формат является результатом объединения усилий компаний Aldus и Microsoft, направленных на преодоление трудностей переноса графических файлов между IBM-совместимыми компьютерами и Macintosh. Формат работает также в UNIX-системах. Появление TIFF положило также конец некоторому беспорядку в области программного обеспечения для сканеров.

Существует 5 типов TIFF-файлов: B - черно-белые иллюстрации, F - изображения для факсов, G - полутоновые изображения (каждая точка может быть любой степени серого от 0% - белый цвет, до 100% - черный), P - цветные изображения, использующие собственную цветовую палитру, R - фотореалистические изображения в RGB-представлении. Имеются "диалекты" формата, что создает трудности его понимания различными программами. Сейчас используются версии 5.0 и 6.0. Расширение - *. tif.

TIFF хранит данные в помеченных (tagged) полях. Поле каждого типа содержит некоторые детали рисунка. Это позволяет при чтении файла пропускать неизвестные или ненужные поля. При необходимости вводятся новые типы помеченных полей, что обеспечивает универсальность формата ценой потери совместимости.

Формат очень удобен, но файлы велики. Например, файл формата А4 в цветовой модели CMYK (собственная цветовая палитра!) с разрешением 300 dpi занимает около 40 М. А это обычные параметры высококачественной печати. Достоинством являются надежность, большие возможности. Это лучший растровый формат обмена между Macintosh и PC. С той или иной степенью детализации он "понимается" множеством программ. Можно использовать различные методы сжатия. Метод сжатия указывается в одном из полей. Можно работать с оттенками серого. Универсальность формата порождает его основной недостаток: неупорядоченность структуры и вытекающую из этого несовместимость.

 

JPEG

 

Joint Photographic Expert Group (JPEG) - формат объединенной группы экспертов по фотографии. Это объединение действует под эгидой ISO (ведущей международной организации стандартов) и CCITT (организации стандартов в области телефонии, радио, телевидения и т.д.). Формат дает наилучшее сжатие для фотографических (растровых) изображений. Расширение - *. jpg или *. jif (JPEG+TIFF). Последняя версия - 1991 г. Есть ранние, не совместимые с другими реализации. JPEG “понимается” рядом графических редакторов. Это не столько формат, сколько метод сжатия. Он реализован программно на PC, Macintosh и аппаратно (это наиболее эффективно, есть специальные чипы). Программное сжатие работает гораздо медленнее аппаратного. Возможно сжатие до десятых долей исходного файла (до 100:1). Такой результат получается за счет сжатия с потерями. Но теряется то, что для глаза незаметно. Существует формат JPEG+TIFF (TIFF 6.0), допускающий сжатие JPEG. Имеется также формат JFIF. Это вариации JPEG.

Рассмотрим основные этапы сжатия. Большинство реализаций JPEG сначала преобразуют систему цветов RGB в YUV (Y - яркость, U и V - характеристики цвета). Т.к. человеческий глаз больше воспринимает изменение яркости, нежели изменение цвета, программа сжатия больше внимания уделяет данным о яркости. На одну выборку цвета делается от 2 до 4 выборок яркости. Это источник экономии. Далее выполняется дискретное преобразование массива данных об интенсивности в массив данных о частоте изменения интенсивности. После ряда частотных преобразований используется модифицированное кодирование методом Хаффмана.

 

DXF

 

DXF - Drawing Interchange Format. Это формат обмена рисунками AutoCAD фирмы AutoDesk. Формат векторный. “Понимается” большинством САПР, Corel Draw, издательскими системами. Стандарт "де факто" для обмена чертежами. Позволяет отобразить от черно-белого до 16 млн. цветов. В основном используется для PC, есть реализации на Macintosh, UNIX. Основа - язык графических метафайлов. Это означает, что хранится не само изображение, а его описание. AutoCAD использует плавающую арифметику. Это позволяет выполнять очень точные вычисления. Но большинство векторных редакторов применяет только целочисленную арифметику. Это порождает потерю информации, искажение рисунка. Степень искажения зависит от вида работы.

Формат имеет 2 формы: ASCII и бинарную. Бинарная форма появилась в AutoCAD версии 10. Цифровые коды и данные хранятся не в ASCII, а в двоичном виде. При этом размер файла уменьшается примерно на 25%, скорость чтения увеличивается в 5 раз, но теряется возможность визуальной расшифровки формата.

Объекты в файле DXF задаются парами величин: кодами групп и следующими за ними значениями групп. Коды указывают цель использования значений. Данные внутри файла разделены на 4 секции. Секция заголовка содержит общую информацию: цвет, толщина линий по умолчанию, размеры рисунка и т.д. Эти сведения обычно игнорируются системами, отличными от САПР (векторными редакторами, издательскими системами и др.). Секция таблиц содержит данные о координатных системах и слоях объектов. Они тоже, в основном, используются САПР. В секции блоков векторные объекты группируются по именам. Секция элементов содержит описания всех геометрических объектов. Это самая большая часть файла. Примеры элементов: POINT, LINE, CIRCLE, 3DFACE, TEXT и др. Описываются объекты числовыми и ASCII или двоичными кодами. Сначала указывается код элемента, потом код слоя, цвет и др. характеристики, затем - параметры элемента.

Достоинства: распространенность, широкая цветовая палитра, возможность описания трехмерных изображений. Недостатки: неэффективность хранения данных, ASCII-форма медленно читается. Полная реализация стандарта очень сложна, особенно для трехмерных изображений.

 

Базовая графика PostScript

Это стандарт de facto для настольных издательских систем. Изначально формат предназначался для компьютеров Macintosh и их периферии (принтеров и других устройств вывода). Сейчас он используется на PC- и UNIX-платформах как для вывода, так и для хранения и передачи изображений, особенно в формате инкапсулированного PostScript (Encapsulated PostScript - EPS). Тип изображения - векторное и bitmap (векторное и растровое). По типу формата PostScript относится к языкам описания страниц. EPS - подмножество языка Adobe PostScript, владельцем которого является Adobe Systemc Inc. Файлы имеют расширение *.eps.

Базовая графика PostScript имеет 4 варианта: Level 1, Level 2, Encapsulated PostScript, Display PostScript. Level 1 - исходное подмножество языка. Используется, в основном, для черно-белой графики до 8 бит глубиной. Может также работать в RGB и CMYK. Level 2 включает Level 1 и ряд усовершенствований. Используются различные методы сжатия, колориметрия. Глубина цвета до 32 бит. Вместо ASCII-кода можно использовать бинарный код. EPS описывает одну страницу, которая без модификации включается в большие PostScript-документы. В основном используется для обмена. Допускает 24-битные RGB и HSB, 32-битный CMYK, индексирование палитры цветов. EPS “понимается” большинством издательских систем. Интерпретаторы Display PostScript являются аппаратно-независимыми интерфейсами для мониторов в режиме реального времени. Они поддерживают многозадачность, окна и т.д.

PostScript по сути является языком программирования. Он похож на язык программирования FORT. PostScript очень детализирован, из-за чего интерпретатор занимает большой объем памяти. Руководство по 2 редакции языка содержит более 700 страниц. PostScript позволяет описать документы в сотни страниц с включением в текст рисунков и установок для печати. Имеются средства эскизного просмотра, линейого преобразования изображений (в том числе векторных шрифтов). Можно получить до 12 разрядов глубины серого, 36-битовый RGB. Язык имеет большие возможности, прекрасно служит для согласования различных платформ при цветных и черно-белых изображениях. Для bitmap-изображений он обычно неэффективен. К недостаткам следует отнести жесткую ориентацию языка на принтеры PostScript. Для других принтеров на месте изображения печатается пустая рамка.

 

Лекция № 7 3-D графика

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

Компания AMD предложила новую технологию 3DNow!(TM), используемую в процессоре AMD-K6-2(R). Преимущества новой технологии заключаются в более быстрой смене кадров в графике с высоким разрешением, значительно улучшенным моделированием физических сред, четкое и более детальное формирование трехмерных изображений, лишенным характерных скачков воспроизведением видео и звуком театрального качества. Среди наиболее важных из вышеназванных свойств - значительное улучшение в работе с трехмерной графикой.

 

API (Application Programming Interface)

 

Комплект программ, которые прикладная программа использует для обращения к задачам исполняемым на уровне операционной системы. Т.е. программы связи аппаратных средств (таких, как, например, видеопроцессор) с приложениями, например, играми. Разработчики игры пишут ее код согласуясь с API, что позволяет ей работать с любыми аппаратными средствами, на любых компьютерах. 3D API позволяет программисту создавать трехмерное программное обеспечение использующее все возможности 3D-ускорителей. 3D API делятся на стандартные (уни-версальные) и собственные (специализированные). Без стандартных API, поддерживающих широкий спектр 3D-ускорителей, разработчиками, пришлось бы портировать игры под множество плат. Наиболее известные стандартные 3D API - OpenGL и Direct3D. Собственный (native) 3D API предназначен для одного конкретного семейства 3D-уcкopитeлeй и ограждает программиста от низкоуровневого программирования. Примеры специализированных 3D API - Glide (от 3Dfx), RRedline (от Rendition), PowerSGL (от Videologic). Ис-пользование 3D API предполагает применение драйверов для этого API. На сегодняшний день наличие драйверов Direct3D и OpenGL для Windows 95/ 98 является обязательным требованием ко всем 3D-уcкopитeлям.

 

DirectX

 

API для Microsoft(R) Windows(R) сфокусированный на разработке мультимедийных приложений. По словам Microsoft, DirectX обеспечивает разработчиков программного обеспечения гибкостью необходимой для работы в Internet и открывает путь к использованию мощнейших возможностей современных персональных компьютеров в работе с мультимедийными приложениями. DirectX 6.0 был оптимизирован для работы с технологией 3DNow! и стал доступен пользователям в июле 1998 года.

 

Direct3D

 

Часть DirectX ориентированная на исполнение трехмерной графики. Direct3D предлагается компанией Microsoft как важное дополнение к API для игр и других 3D-приложений. Direct3D, как часть DirectX 6.0, оптимизирован для технологии 3DNow! Direct3D существует только в Windows 95, в скором будущем появится и в Windows NT 5.0. Direct3D име-ет два режима: RM (retained mode), или абстрактный и IM (immediate mode), или непосредственный. IМ состоит из тонкого уровня, который общается с аппаратурой и обеспечивает самое высокое быстродействие. Абстрактный режим - высокоуровневый интерфейс, покрывающий множество операций для программиста, включая инициализацию и трансформацию. У обоих режимов есть достоинства и недостатки, большинство Direct3D-игр используют IM.

 

OpenGL

 

OpenGL - открытый 3D API, созданный компанией SGI и контролируемый ассоциацией OpenGL Architecture Review Board (ARB), в которую входят DEC, E&S, IBM, Intel, Intergraph, Microsoft и SGI. OpenGL реализует широкий диапазон функций от вывода точки, линии или полигона до рендеринга кривых поверхностей NURBS, покрытых текстурой. OpenGL долгое время использовался для работы с трехмерной графикой на компьютерах профессионального уровня. Сейчас многие разработчики игр используют этот API. OpenGL также оптимизируется для совместной работы с технологией 3DNow! OpenGL-драйвер может быть реализован в трех вариантах: ICD, MCD и мини-порт. ICD (Installable Client Driver) полностью включает все стадии конвейера OpenGL, что дает максимальное быстродействие, но разработка ICD-драйвера занимает большое количество времени. MCD (Mini Client Driver) разработан для внесения абстракции в конвейер OpenGL, и поэтому написание драйвера менее трудоемко. MCD уступает ICD в быстродействии, плюс к этому MCD работает только в Windows NT. Мини-порт - драйвер, предназначенный для одной конкретной игры (или движка), обычно для GLQuake и Quake 2. Мини-порт может работать по принципу ICD (Rage Pro), через собственный API (Voodoo 2) или через Direct3D (lntel740). В последнем случае он называется враппером.

 

VRML

 

VRML - язык описания трехмерных миров. Лидером среди разработчиков программного обеспечения для работы с VRML считается Cosmo Software (одно из подразделений SGI). Эта компания также активно разрабатывает новые стандарты VRML. Ее программа CosmoPlayer предназначена для просмотра сцен, созданных на VRML. CosmoPlayer поддерживает OpenGL, что при наличии OpenGL-ускорителя дает прирост скорости и повышает качество 3D.

 

AGP (Advanced Graphics Port)

 

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

 

DiME

 

DiME (Direct Memory Execution) - главное преимущество AGP. AGP-платы без DiME недалеко ушли от РСI. DiME (или, как его еще называют, AGP-текстурирование) дает возможность 3D-ускорителю брать текстуры напрямую из системной памяти, а не из локальной видеопамяти. DiME - ключ к использованию большого количества больших текстур. DiME превращает системную память в своего рода расширение видеопамяти. 3D-ускоритель с поддержкой DiME уже сейчас без проблем справляются с 16 Мбайт текстур на один кадр.16- 24- и 32-битные цвета

Каждый пиксел окрашен определенным цветом. В 16-битном режиме можно воспроизвести 65,536 цветов, в то время как в 24-битном - 16.7 миллионов цветов. 32-битный режим располагает тем же количеством цветов, что и 24-битовый режим, хотя манипулировать 32-битными изображениями значительно быстрее, чем 24-битными. Однако, 32-битная графика требует почти на 25% больше памяти. Поскольку человеческие глаза не могут увидеть более чем 10 миллионов различных цветов, то считается, что 24- и 32-битовая графика примерно равны по качеству.

Текстура (Texture) - побитовое отображение поверхностей, отсканированное или нарисованное, что придает поверхности реалистичный вид. Использование текстур гораздо удобнее моделирования поверхности объекта с помощью окрашенных многоугольников.

 

Пиксел

PI(X)cture ELement - минимальный графический элемент, генерируемый видео адаптером, обычно размером с точку. Пикселы могут быть почти любого цвета, в зависимости от способностей адаптера.

 

Тексел

TE(X)ture ELement - минимальный элемент текстуры, обычно относится к треугольнику.

 

Текстурирование

Текстурирование - основной метод моделирования поверхностей наложением на них изображений, называемых текстурой.

 

Скорость текстурирования (Fill rate)

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

 

Throughput

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

 

Блиттинг (Blitting)

Копирование массива данных из основной памяти компьютера в память видеокарты. Скорость этого процесса (Blit Rate) - важная характеристика для оценки видеокарт.

 

Сетка (Mesh)

Термин, применяемый для описания структуры 3D-объекта или изображения. Назван так потому, что имеет сходство со скульптурой сделанной из проволочной сетки.

 

Призрак (Sprite)

Объект (часто буква или курсор) движущийся поверх фоновой картинки.

 

Ядро (Engine)

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

 

Многоугольник (Polygon)

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

 

Дисплейные Режимы

1. Проволочная скульптура (Wireframe) - Первичный объект, для образования которого применяются линии краев многоугольников, придающие объекту сходство со скульптурой, сделанной из проволочной сетки.

2. Окрашивание плоскостей (Flat Shaded) - Поверхность многоугольников (треугольников) окрашена определенным цветом, однако поверхность объекта все еще выглядит дробной.

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

4. Текстурирование поверхностей (Smooth Textured) - Объект начинает выглядеть волне реалистично. Характер поверхностей отражен максимально точно. Метод требует массы усилий процессора и памяти.

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

 

Освещение

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

Omni lights - общее освещение, подобно лампочке, освещающее предметы со всех направлений.

Spot lights - точечные источники света, выделяющие только часть объекта.

Ambient light - отдаленные источники света. Используются для того, чтоб сымитировать далекие источники света, которые подобно луне, заставляют предметы отбрасывать параллельные тени.

Световое пятно (Specular Highlight) - яркое отражение света от глянцевой поверхности.

 

Рендеринг (иначе, растеризация)

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

 

Типы рендеринга

1. Плоскостной рендеринг (Flat Render) - Создание четко разграниченных многоугольников, поверхность каждого из которых окрашена одним однотонным цветом. Самый быстрый способ представления поверхностей.

2. Мягкое закрашивание (Gouraud Shading) - Смешение объектов образующих поверхность. Более реалистично, чем плоскостное представление. Используется во многих новых играх, где трехмерные поверхности преобразуются в реальном масштабе времени, например, в авиационных симуляторах.

3. Phong Shading - Более реалистичная и сложная форма закрашивания, чем предыдущий вариант. Предъявляет большие требования к аппаратным ресурсам компьютера вообще и к производительности в частности.

4. Трассировка луча (Ray Tracing) - Наиболее качественный уровень представления трехмерных поверхностей, доступный для настольных компьютеров. Состоит в том, что "нарисованный" луч света, попадая на такую же искусственную поверхность, ведет себя точно так же, как и настоящий - отражается и меняет свое направление. Результат очень реалистичен, с чрезвычайно точными тенями, отражениями и даже преломлениемКоррекция перспективы

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

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

 

Мипмэппинг (MIP-mapping)

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

 

Билинейная фильтрация

Билинейная фильтрация (bi-linear filtering) - метод текстурирования, при котором выполняется интерполя-ция текстуры. Смысл билинейной фильтрации состоит в том, что каждый тексел данной структуры окрашивается в цвет, полученный, как средне взвешенное от значений цветов четырех соседних текселей.

 

Трилинейная фильтрация (tri-linear filtering)

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

 

Антиалиасинг (Anti-Aliasing)

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

 

Затуманивание (Fogging)

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

 

Альфа-смешение (Alpha Blending)

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

Превращения (Transforms)

Операции изменения позиции, размера, или ориентации объекта в пространстве. В общем случае - перемещение, масштабирование и вращение.

 

Деформации (Deforms)

Операции подобные превращениям, однако, более сложные, так как их исполнение приводят к перемене внешнего вида объекта. К деформациям можно отнести искривление, поворот, рассогласование и т. п.

 

Отсечение (Clipping)

Отсечение тех многоугольников, которые не попадают в поле зрения пользователя.

 

Распределение (Mapping)

Распределение, (иначе - распределение текстур, Texture Mapping) - процесс назначения объекту атрибутов придающих ему реалистичность. До того, как объекту будет назначена определенная текстура, его составляющие окрашены либо в несколько простейших цветов, либо в серый цвет. Распределение придает объекту или поверхности специфический цвет или назначает текстуру.

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

 

Дизеринг (dithering) механизм получения изображения в HiColor-режимах.

 

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

Мультитекстурирование (multitexturing) - метод рендеринга с использованием нескольких текстур за минимальное число проходов. Мультитекстурирование позволяет конвейеризировать наложение текстур с использованием нескольких (обычно двух) блоков текстурирования.

 

Конвейер рендеринга

Рендеринг выполняется по многоступенчатому механизму, называемому конвейером рендеринга. Конвейер рендеринга может быть разделен на три стадии: тесселяция, геометрическая обработка и растеризация. Если взять произвольный 3D-ускоритель, то он не будет ускорять все стадии конвейера, и даже более того, стадии могут лишь частично ускоряться им. Тесселяция - процесс разбиения поверхности объектов на треугольники. Эта стадия проводится полностью программно вне зависимости от технического уровня и цены 3D-аппаратуры. Геометрическая обработка делится на несколько фаз и может частично ускоряться 3D-ускорителем. Трансформация - преобразование координат (вращение, перенос и масштабирование всех объектов). Расчет освещенности - определение цвета каждой вершины с учетом всех световых источников. Проецирование - преобразование координат в систему координат экрана. Triangle setup - предварительная обработка потока вершин перед растеризацией. Растеризация наиболее интенсивная операция, обычно реализуемая на аппаратном уровне. Растеризатор выполняет непосредственно рендеринг и является нaиболее сложной ступенью конвейера. Если стадия геометрической обработки работает с вершинами, то растеризация включает операции над пиксела-ми. Растеризация включает в себя затенение и дизеринг.

 

Z-буферизция (Z-Buffering)

Сравнительно новое свойство, применяемое для облегчения управлением положения трехмерных объектов в пространстве. Часто используется для затуманивания. Состоит в том, что кроме двумерных координат (x, y) пиксела, хранится еще и значение его глубины. Область видеопамяти, в которой хранятся значения глубины для каждого пиксела, называется z-буфер.

 

Фреймбуфер

Фреймбуфер - понятие путанное, так как может означать несколько вещей в зависимости от контекста. Обычно фреймбуфер - это область памяти, где хранятся пикселы. Фреймбуфер в этом случае делится (обычно пополам) на передний и обратный буфер. Передний буфер - это то, что видит пользователь в конкретный момент. При рендеринге передний буфер остается неизменным до полного формирования нового кадра. При этом вся работа ведется с невидимым обратным буфером, который как бы хранит будущий кадр, который пользователь увидит через долю секунды. Когда новый кадр отрисован, то обратный буфер становится передним, и 3D-ускоритель приступает к новому кадру. Такая работа называ-ется двойной буферизацией. Иногда фреймбуфером называют всю видеопамять (когда говорят "эта плата имеет фреймбуфер 8 Мбайт"), иногда - видеопамять для z-буфера, переднего буфера и обратного буфера (фреймбуфер Voodoo 2).

 

2D-разрешение

2D-разрешение - это то разрешение, которое стоит, к примеру, на экране (desktop) Windows 95. Для расчета того, сколько видеопамяти требуется для какого-либо 2D-разрешения, нужно умножить ширину экрана в точках на его высоту и на размер одного пиксела в байтах. 3D-разрешение - это то разрешение, на котором 3D-ускоритель может выполнять рендеринг трехмерной сцены. Расчеты в 3D более сложны, так как, кроме переднего буфера, здесь есть еще обратный буфер, z-буфер и в некоторых случаях другие буферы. Рендеринг может выполняться по-разному, в одном случае z-буфера не будет, в другом случае будет два обратных буфера. Но, традиционно говоря о 3D-разрешении, имеется в виду ситуация "по умолчанию": передний буфер, обратный буфер и z-буфeр.

Наложение рельефа (bump-mapping)

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

 

Геометрический процессор

Геометрическим процессором называется ускоритель, который ускоряет всю стадию геометрической обработки, в том числе трансформацию и освещение. Реализация геометрического процессора довольно дорога, и, как уже было сказано, он является объектом реклам-ных спекуляций. Определить, реализован ли геометрический процессор, довольно легко - надо выяснить, поддерживает ли 3D-ускоритель операции с матрицами. Без такой поддержки не может идти речи об ускорении фазы трансформации. Геометрическими процессорами являются, например, FGX-1.

Сравнение OpenGL и Direct 3D

Главное концептуальное отличие OpenGL от Direct 3D это то, что OpenGL - открытый стандарт, для которого любой производитель может писать свои расширения. Direct 3D - жестко регламентированный стандарт, не допускающий никаких нововведений до появления новой версии. OpenGL - в оригинальном виде это набор функций, которые производитель должен реализовать в драйверах для типа и платы и которые разработчик может использовать в своих программах. Но ради переносимости многие функциональные возможности не введены прямо в стандарт, а выделены в расширение, и любой производитель сам может решить поддержать то или иное расширение. И даже если он не будет поддерживать ни одно расширение, кроме оригинального OpenGL, все равно будет считаться, что он полностью соответствует этому стандарту. Любой член OpenGL написал свои расширения. Есть расширения от Intel, Microsoft и тому подобное. Direct 3D имеет архитектуру, оснащенную на проверке функциональных возможностей, так называемой CAPS TEST. Direct 3D регламентирует все возможности, доступные производителям, которые могут использовать в своих 3D - ускорителях и разработкам ПО, которые используют эти возможности.

 

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







Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.