Курс лекций по компьютерной геометрии и графике
  256Компьютерная графикаКГиГТема № 4. Основные понятия трехмерной графики

Тема № 4 Основные понятия трехмерной графики

Страницы: 1 2 3 4

Страница 1

В большинстве приложений использующих трехмерную графику 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 Мбайт текстур на один кадр.

Страницы: 1 2 3 4

Рекламный блок

Информационный блок