SWE-ART
ГЛАВНАЯ

Управление сайтом

4.gif

Компоненты системы

4.gif

Интерфейс cms

4.gif

Оформление

4.gif

Видео архив

4.gif

Новости cms sspro

4.gif

Вопросы по cms

4.gif

Задать вопрос

4.gif

Тематические статьи

4.gif

Он - лайн демо

4.gif

Скачать CMS SSPRO

4.gif

Партнерам

4.gif

Условия

4.gif

Отправить заявку

4.gif

Обратная связь

4.gif

Вакансии

4.gif

О компании

4.gif

Реквизиты

4.gif

Он - лайн демо

4.gif

Скачать CMS SSPRO

4.gif

Управление сайтом

Компоненты системы

4.gif

Интерфейс cms

4.gif

Оформление

4.gif

Видео архив

4.gif

Обратная связь

4.gif

Вакансии

4.gif

О компании

4.gif

Реквизиты

4.gif

Партнерам

Условия

4.gif

Отправить заявку

4.gif

Новости cms sspro

4.gif

Вопросы по cms

4.gif

Задать вопрос

4.gif

Тематические статьи

4.gif

Корреспонденция

4.gif

Статистика посещений

4.gif

Список интернет провайдеров

4.gif

Схема проезда

4.gif
Применение SSPro
Сайты-визитки
Интернет-магазины
Корпоративные сайты
Внутрикорпоративные системы
Лучшее решение!

Выезд демонстратора

Удобно
Демо-версия SSPro Наглядно
Он-лайн консультация:
 ICQ#: 213-446

Сертификат 1С

Свидетельство

Создание и продвижение сайта
Cве Арт


         
  +7 (495) 988 0968, 778 83 39

DirectX

 

Опубликовано:
29.11.04

DirectX

 

DirectX - совокупность технологий, разработанных корпорацией Microsoft с целью превратить Windows в оптимальную платформу для мультимедийных приложений и компьютерных игр с полноцветной графикой, видео, трехмерной анимацией и объемным звуком. Технология DirectX станет составной частью будущих версий ОС корпорации Microsoft - Windows 98 и Windows NT 5.0, а также браузера Internet Explorer 4.0. Уже сегодня DirectX дает возможность разработчикам игровых программ и приложений мультимедиа создавать продукты, не привязанные жестко к тем или иным аппаратным средствам, пользователи же могут приобретать игры и программы мультимедиа для Windows, не беспокоясь о их несовместимости с аппаратурой своего компьютера.

До появления DirectX практически все игры для компьютеров PC реализовывались на платформе MS-DOS. Каждую программу разработчикам приходилось комплектовать множеством видео- и аудиодрайверов (с тем, чтобы охватить как можно больше установленных у пользователей аппаратных компонентов) и при этом применять расширители DOS для преодоления барьера в 640 Кбайт. Среда Windows, упростившая взаимодействие пользователей с ПК благодаря удобному графическому интерфейсу, не облегчила жизнь программистов: в Windows графические программы функционировали слишком медленно. Как ни пародоксально это звучит, Windows, являясь графической средой, не была приспособлена для выполнения быстрых графических операций.

Пытаясь поправить ситуацию, Microsoft разработала для создателей компьютерных игр и графических приложений технологию WinG, которая обеспечивала более быстрое выполнение графических операций, чем интерфейс GDI (Graphics Device Interface) Windows (см. врезку "WinG или DirectDraw?"). В то же время корпорация не ограничивалась только решением проблем производительности. Разработчики стремились к тому, чтобы программисты могли создавать игровые и прикладные программы, не задумываясь о том, какие аппаратные компоненты имеются у конкретного пользователя. Сама операционная среда должна была содержать все необходимые драйверы и взять на себя взаимодействие программы с аппаратурой ПК, такой как аудио-, видеоплаты и принтеры.

Между тем даже после выхода в свет ОС Windows 95 платформа Microsoft по-прежнему не соответствовала заявленным обещаниям. Только сегодня с появлением усовершенствованных технологий, получивших обобщенное название DirectX, положение начинает меняться.

Технология DirectX, теперь уже версии 5.0 (версия 6.0 проходит бета-тестирование), сменившая DirectX 3.0, позволяет программистам создавать в Windows 95 (и в будущих ОС Windows 98 и NT 5.0) приложения со встроенным доступом к аппаратным средствам. При этом им не нужно знать специфику аппаратной конфигурации определенного компьютера - явного программирования конкретной платы не требуется. Фактически DirectX выполняет роль промежуточного звена между программой и драйвером, преобразуя обобщенные команды в команды, специфические для того или иного устройства.

Если первоначально DirectX была ориентирована на превращение Windows 95 в полноценную платформу для компьютерных игр, всегда стимулировавших развитие аппаратных средств ПК, то по мере проникновения в массовые приложения технологий мультимедиа комплект программных интерфейсов DirectX становится важной частью операционной системы. Напомним, что в браузере Internet Explorer 4.0 применяется пять компонентов DirectX 5.0: DirectDraw, DirectSound, Direct3D, DirectShow и DirectAnimation.

Технология DirectX 6.0 станет неотъемлемой частью новых ОС Microsoft - Windows 98 и Windows NT 5.0, что позволит ей окончательно завоевать рынок массовых приложений.

Базовый слой DirectX

Базовый слой (DirectX Foundation) предоставляет разработчикам единый набор API-интерфейсов, обеспечивающих прямой доступ к аппаратным средствам - ускорителям 3D-графики, звуковым платам. Эти API выполняют так называемые функции нижнего уровня, в частности управление устройствами ввода (такими, как джойстики, мышь и клавиатура), микшированием и воспроизведением звука. Указанные функции поддерживаются четырьмя компонентами, составляющими DirectX Foundation: DirectDraw, Direct3D, DirectInput и DirectSound.

HAL и HEL

До появления DirectX создателям приложений мультимедиа для платформы Windows приходилось настраивать свои продукты для работы на широком спектре устройств и конфигураций. DirectX Foundation предусматривает так называемый уровень абстрагирования аппаратных средств HAL (Hardware Abstraction Layer). HAL функционирует как промежуточное звено между программным обеспечением и аппаратурой, позволяя разработчикам обращаться к тем или иным компонентам, не зная их марки, модели и других деталей. В результате они получают возможность писать лишь одну версию приложения, взаимодействующую с DirectX.

Кроме того, DirectX Foundation предоставляет в распоряжение разработчиков инструментальные средства для достижения наивысшей производительности. Данный базовый слой определяет возможности аппаратуры компьютера и устанавливает соответствующие параметры приложения. Он обеспечивает также выполнение мультимедиа-приложений, использующих функции, не поддерживаемые в системе на аппаратном уровне. Это достигается за счет уровня HEL (Hardware Emulation Layer), с помощью которого DirectX программно эмулирует функции, не реализуемые самим устройством. Если аппаратное обеспечение не совместимо с запрашиваемым программой сервисом, уровень HEL пытается эмулировать его наилучшим возможным образом. Чаще всего эмулируются средства 3D-графики. Хотя эмуляция и не так эффективна, как аппаратная реализация, зато разработчику не приходится писать несколько версий одной и той же программы.

DirectDraw

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

Именно DirectDraw - единственный компонент DirectX, взаимодействующий с HAL. Использующие DirectDraw приложения взаимодействуют только с DirectDraw и не могут обращаться непосредственно к HAL. Этот интерфейс повышает производительность приложений за счет поддержки функций 2D-графики, быстрого выполнения операций с растровыми изображениями, пересылки битовых блоков (blitting), прозрачного наложения объектов и управления несколькими слоями анимации.

По существу, DirectDraw представляет собой диспетчер видеопамяти. Он позволяет программисту хранить текстуры и манипулировать ими непосредственно в видеопамяти, используя преимущества пересылки блоков, реализованной на аппаратном уровне. Такая пересылка из одной области видеопамяти в другую осуществляется намного быстрее, чем передача из системной памяти в видеопамять (особенно в случае использования 64-разрядных видеоплат). К тому же данные операции выполняются независимо от ЦП. Тем самым процессор освобождается для иной работы. Кроме того, DirectDraw поддерживает другие механизмы аппаратного ускорения, реализуемые видеоплатой, такие как спрайты и Z-буферизация.

DirectDraw реализует интерфейс с видеопамятью, используя четыре объекта: DirectDraw, DirectDrawSurface, DirectDrawPalette и DirectDrawClipper. Объект DirectDraw, плата адаптера дисплея, является основным. Объект DirectDrawSurface представляет видеопамять, куда помещаются отображаемые данные. Обычно DirectDrawSurface используется следующим образом. В памяти создаются два буфера (для смены изображений). Отображаемые фрагменты записываются в первый буфер (а не выводятся на экране непосредственно), а те, что должны отображаться следующими - во второй. Затем происходит переключение буферов - второй буфер становится текущим, и изображение обновляется. Direct3D позволяет выполнять приложение в режиме полного экрана или в окне, а также оперативно настраивать в программе разрешение дисплея.

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


Версия для печати

Назад

         
Каталог ссылок
SWE-ART
Москва, ул. Угрешская, д. 2 (Технопарк "Синтез"), стр. 31
+7 (495) 988-0968 (многоканальный), 778 83 39
Реклама: