Интерфейс Microsoft Windows DirectX. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интерфейс Microsoft Windows DirectX.



Для устранения этого недостатка была разработана библиотека WinG, которая с выходом 32-разрядной оболочки Windows 95 переродилась в Game SDK (Software Development Kit), которая, в свою очередь, была переименована в DirectX. Microsoft DirectX – это набор программных интерфейсов, используемых для управления мультимедийными компонентами компьютера. В состав этих интерфейсов входят: DirectDraw – для быстрого доступа к видеопамяти, DirectSound5 – для вывода аудиоинформации на звуковую плату, DirectInput – для обработки ввода информации с клавиатуры, от мыши или джойстика и Direct3D – ядро поддержки трехмерной графики, используемое совместно с DirectDraw6.

Встроенный непосредственно в ядро операционной системы Microsoft Windows, интерфейс DirectX полностью интегрирован в Windows 98/2000/XP, а также в Microsoft Internet Explorer. Компоненты DirectX могут быть автоматически загружены на компьютер при установке современных игровых и мультимедийных приложений.

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

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

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

На рис.10.2 показана архитектура Microsoft DirectX.

Рассмотрим основные компоненты Microsoft DirectX и познако-

мимся с предоставляемыми ими сервисами.

Сервис - это предоставление доступа к каким-либо (мультимедий-

ным) данным или выполнение конкретной функции по обработке этихданных.

Конец 77 вопроса.

Интерфейсы Microsoft Windows DirectDraw и DirectAnimation.

DirectAnimation

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

анимации элементов Web-страниц;

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

- любые средства разработки и языки программирования, под-

держивающие СОМ-технологии: Java, Visual Basic, Microsoft Visuai

C++, Borland Delphi, могут использоваться для создания интерактивных мультимедийных приложений. На рис. 8.5 показана архитектура DirectAnimation

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

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

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

- компонент Sequencer для создания комплексных последовательностей с использованием компонентов ActiveX, скриптовых программ и Dynamic HTML;

- компонент Sprite для добавления к HTML -документам стати-

ческих и анимированных графических изображений и управления ими;

- компонент Structured Graphics для создания векторной графики и манипуляций с ней.

DirectDraw

Весьма интересное определение DirectDraw можно найти у одного из его яростных противников — FastGraph. Графический пакет Fast-Graph появился довольно давно. В настоящее время существует версия FastGraph, которая поддерживает DirectDraw, но скрывает DirectDrawАРI за своим собственным нестандартным АРI. Тед и Диана Грубер (Tedапd Diana Gruber), создатели и поставщики FastGraph, разместили на своем Web -узле файл, в котором доказывается, что FastGraph лучше DirectDraw.

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

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

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

(RAM). Кроме того, при проектировании менеджеров памяти основное внимание обычно уделяется надежности, а не быстродействию. При проектировании же DirectDraw главной целью было именно быстродействие.

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

приложениями.

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

через аппаратно-независимые слои.

В отличие от GDI, DirectDraw по возможности использует аппаратные функции. Если конкретное устройство не поддерживает требуемых функций, DirectDraw пытается эмулировать их, используя HEL. Нужно отметить, что DirectDraw может предоставлять доступ к поверхностям как к контекстам устройств (Device Context, DC), что позволяет

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



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 393; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.212.99 (0.008 с.)