oldi

Введение в Microsoft DirectX

Алексей Федоров

DirectX Foundation

DirectX Media

Компоненты DirectX

   DirectX Foundation

     Direct3D

     Immediate Mode

     Retained Mode

     DirectDraw

     DirectInput

     DirectMusic

     DirectPlay

     DirectSound

     DirectSound3D

   DirectX Media

     Назначение DirectX Media

     Архитектура DirectX Media

     DirectAnimation

     Мультимедийные компоненты DirectAnimation

     DirectShow

     DirectX Transform

Будущее DirectX

   DirectX for Visual Basic

   DirectX 8.0 и далее. . .

   Fahrenheit

 

Microsoft DirectX — это набор низкоуровневых программных интерфейсов, используемых для управления рядом аппаратных компонентов компьютера. В состав этих интерфейсов входят: DirectDraw — для быстрого доступа к видеопамяти, DirectSound — для вывода аудиоинформации на звуковую карту, DirectPlay — для организации многопользовательской работы через модем, локальную сеть или Internet, DirectInput — для обработки ввода информации с клавиатуры, от мыши или джойстика и Direct3D — ядро поддержки трехмерной графики, используемое совместно с DirectDraw.

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

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

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

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

В этом обзоре мы рассмотрим основные компоненты Microsoft DirectX и познакомимся с предоставляемыми ими сервисами.

DirectX Foundation

DirectX Foundation предоставляет в распоряжение разработчиков единый набор программных интерфейсов, который обеспечивает доступ ко всем возможностям, реализованным на уровне аппаратного обеспечения, — 3D-ускорителям, звуковым картам и т.п. Эти программные интерфейсы, называемые низкоуровневыми функциями, включают ускорение отображения двухмерной графики, поддержку устройств ввода информации — джойстиков, мышей и клавиатур, управление микшированием аудиоинформации и ее вывод. Эти низкоуровневые функции поддерживаются компонентами, составляющими DirectX Foundation: Microsoft DirectDraw, Microsoft Direct3D, Microsoft DirectInput, Microsoft DirectSound, Microsoft DirectPlay и Microsoft DirectMusic. Эти компоненты показаны на рис. 2.

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

В начало

В начало

DirectX Media

Как мы выяснили выше, DirectX Foundation выполняет обработку низкоуровневых запросов. Компонент DirectX Media располагается над DirectX Foundation и обеспечивает высокоуровневые сервисы — поддержку анимации, потоковый вывод (возможность передачи и просмотра аудио- и видеоинформации по мере ее загрузки из Internet) и интерактивность. Автоматическая интеграция низкоуровневых сервисов, реализуемых DirectX Foundation, и высокоуровневых, реализованных в DirectX Media, облегчает процесс создания и воспроизведения мультимедийных элементов, позволяя разработчикам включать их в свои приложения и Web-страницы, обеспечивая тем самым недоступное ранее интерактивное мультимедийное содержимое.

Как и DirectX Foundation, DirectX Media состоит из нескольких интегрированных компонентов. К ним относятся: Microsoft DirectShow, DirectAnimation и DirectX Transform. Поддержка DirectShow и DirectAnimation встроена в последние версии браузера Microsoft Internet Explorer. В результате разработчики и Web-дизайнеры получают в свое распоряжение недоступные ранее средства для управления графикой, анимацией, аудио, видео и другими видами онлайновой мультимедиа-информации. Компоненты DirectX Media показаны на рис. 3.

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

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

В начало

В начало

Компоненты DirectX

Помимо кратко рассмотренных выше двух основных составляющих Microsoft DirectX в ее состав также входят высокоуровневые компоненты, которые обеспечивают мультимедийные функции для Web-приложений. К этим компонентам относятся: NetMeeting — для организации групповых онлайновых дискуссий и Windows Media Player — средство для передачи мультимедийного содержимого по Internet.

Рассмотрев организацию DirectX, давайте более подробно остановимся на основных возможностях, предоставляемых отдельными компонентами DirectX Foundation и DirectX Media.

В начало

В начало

DirectX Foundation

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

DirectX Foundation основывается на таких проверенных временем технологиях, как Microsoft DirectDraw, Microsoft Direct3D (режимы Immediate и Retained), Microsoft DirectInput, Microsoft DirectMusic, Microsoft DirectSound, Microsoft DirectPlay и Microsoft DirectSound 3D. Эти программные интерфейсы системного уровня обеспечивают эффективный доступ к различным компьютерным устройствам — 3D-ускорителям, звуковым картам, устройствам ввода информации. DirectX Foundation обеспечивает реальную аппаратную независимость приложений, снимает проблемы установки драйверов и несовместимости аппаратно-программных платформ.

Ниже рассматриваются отдельные компоненты, входящие в состав DirectX Foundation.

В начало

В начало

Direct3D

Microsoft Direct3D представляет собой интерфейс для работы с 3D-картами. Он поддерживает два режима работы — Immediate Mode и Retained Mode.

В начало

В начало

Immediate Mode

В режиме Immediate Mode Direct3D обеспечивает разработчикам аппаратную поддержку игровых и мультимедийных приложений в среде Microsoft Windows. Он позволяет добиться аппаратной независимости, поддерживает переключаемую Z-буферизацию и Intel MMX-архитектуру процессоров. В режиме Direct3D Immediate Mode основные графические примитивы реализуются напрямую, без использования буферов выполнения (execute buffers).

В начало

В начало

Retained Mode

Режим Retained Mode Direct3D облегчает создание и анимацию трехмерных миров, поддерживая две новые функции: интерполяторы анимации со смешением цветов, плавными перемещениями объектов и множеством различных видов трансформации, а также последовательное заполнение сеточной структуры 3D-объектов (meshes), позволяющее осуществлять их постепенную загрузку с удаленных серверов.

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

На рис. 4 показана архитектура Direct3D.

Отметим, что Direct3D-приложения общаются с графическими устройствами одинаково, вне зависимости от режима — Retained или Immediate. Они могут использовать или не использовать программную эмуляцию перед обращением к HAL. Реально Direct3D является интерфейсом к объекту DirectDraw, поэтому на приведенной выше диаграмме слой аппаратной абстракции (HAL) обозначен как DirectDraw/Direct3D HAL.

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

В начало

В начало

DirectDraw

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

На рис. 5 показано взаимоотношение между DirectDraw, компонентом ядра операционной системы GDI (Graphics Device Interface), слоем аппаратной абстракции (Hardware Abstraction Layer, HAL) и слоем аппаратной эмуляции (Hardware Emulation Layer, HEL).

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

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

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

В начало

В начало

DirectInput

Microsoft DirectInput представляет собой интерфейс к различным устройствам ввода информации — клавиатуре, джойстику, мыши, а также к устройствам с обратной отдачей (force-feedback). Использование DirectInput дает два преимущества по сравнению с обычными, стандартными функциями: данный интерфейс поддерживает большее число устройств и обеспечивает более быструю реакцию на запросы. Работая непосредственно с драйверами устройств, DirectInput не использует систему обмена сообщениями Microsoft Windows.

К новым возможностям DirectInput относится расширенный список поддерживаемых устройств, в числе которых: игровые панели (game pads), авиационные рули (flight yokes), шлемы виртуальной реальности (virtual-reality headgear) и устройства с обратной отдачей, обеспечивающие такие эффекты, как вибрация, сопротивление при движении и т.п., использование которых делает современные игры еще более реалистичными и привлекательными.

В начало

В начало

DirectMusic

Microsoft DirectMusic — это новый компонент семейства технологий DirectX, который представляет собой принципиально новый подход к оцифрованной музыке на платформе Microsoft Windows. DirectMusic — это программная оболочка для создания музыкальных шаблонов и инструкций по реакции на действия пользователя. Такой подход позволяет разработчикам создавать фоновую музыку, составляемую в реальном времени на основе алгоритмов, задаваемых в Web-страницах или мультимедийных приложениях. Это означает, что времена, когда вы слушали MIDI-файлы, выполняемые в цикле, отошли в прошлое.

DirectMusic основывается на полной реализации стандарта DownLoadable Sounds (DLS) — новой спецификации, позволяющей разработчикам создавать музыкальные шаблоны с уверенностью, что они будут воспроизведены практически на любом устройстве и аппаратной платформе. Так как музыка создается из базовых блоков, предоставляемых разработчиком, то для нее практически не требуется места для хранения и DirectMusic представляет собой идеальное решение для доставки музыкальных фрагментов по Internet. В состав DirectMusic входит DirectMusic Producer — интегрированный редактор, позволяющий работать со всеми объектами DirectMusic: стилями, шаблонами, DLS-инструментами и т.п.

В начало

В начало

DirectPlay

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

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

На рис. 6 показана архитектура DirectPlay.

В начало

В начало

DirectSound

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

Начиная с версии DirectX 5 интерфейс DirectSound поддерживает возможность программного управления записью аудиоинформации и различные дополнения, основанные на уникальной функциональности, предлагаемой некоторыми моделями звуковых карт.

На рис. 7 показано взаимоотношение DirectSound с другими компонентами системы.

В начало

В начало

DirectSound3D

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

В начало

В начало

DirectX Media

Объединение мультимедийных приложений и сервисов Internet открывает перед разработчиками принципиально новые возможности и более широкие аудитории для создания приложений, использующих различные типы информации. Набор программных интерфейсов Microsoft DirectX версии 6 предоставляет в распоряжение разработчиков унифицированный, полный набор программных сервисов различного уровня — от системного до прикладного. В этом обзоре мы рассмотрим прикладные сервисы, предоставляемые DirectX Media.

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

DirectX Media — это семейство программных интерфейсов и компонентов для мультимедийных приложений. В настоящее время DirectX Media состоит из следующих программных интерфейсов:

Интерфейс Описание
Direct3D Retained Mode 3D-графика
DirectShow (ранее назывался ActiveMovie SDK) Воспроизведение, потоковый вывод
DirectAnimation (ранее назывался ActiveX Animation) Анимация и интеграция с Dynamic HTML
DirectX Transform Двух- и трехмерные миры, временные задержки для приложений и Web-страниц
В начало

В начало

Назначение DirectX Media

Набор интерфейсов DirectX Media был разработан для того, чтобы:

  • обеспечить сервисы прикладного уровня для работы с различными типами информации. DirectX Media обеспечивает сервисы прикладного уровня — аппаратно-независимые сервисы, которые используют системные сервисы DirectX Foundation;

  • унифицировать сервисы для работы с информацией. Используя DirectX Media, разработчики мультимедийных приложений получают аппаратно-независимый доступ к различным типам информации без потери производительности, так как сервисы DirectX Foundation по-прежнему напрямую работают с аппаратурой. DirectX Media предоставляет в распоряжение разработчиков набор программных интерфейсов, аппаратную независимость на основе архитектуры HAL/HEL (уровень аппаратной абстракции/уровень аппаратной эмуляции) и высокоуровневые интерфейсы к сервисам DirectX Foundation;

  • предоставить поддержку пользователей и сред. Благодаря аппаратной независимости, использованию компонентной объектной модели (Component Object Model, COM) и интеграции с Internet, сервисы DirectX Media могут быть использованы любыми разработчиками мультимедийных приложений — от Web-дизайнеров до профессиональных программистов.

В начало

В начало

Архитектура DirectX Media

DirectX Media — это результат разделения интерфейсов DirectX 6 на два уровня — системный уровень, предоставленный DirectX Foundation, и прикладной уровень — DirectX Media. Сервисы DirectX Media используют сервисы DirectX Foundation. К этим сервисам относятся: Direct3D Retained Mode, DirectAnimation, DirectShow и DirectX Transform. DirectX Media также обеспечивает поддержку VRML.

Напомним, что DirectX Foundation обеспечивает следующие сервисы системного уровня: DirectDraw, DirectInput, DirectSound, DirectSound3D и Direct3D Immediate Mode.

После того как мы получили общее представление о DirectX Media, давайте рассмотрим каждый компонент этого интерфейса.

В начало

В начало

DirectAnimation

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

  • HTML-разработчики могут использовать DirectAnimation для анимации элементов Web-страниц.

  • Можно объединять технологию Dynamic HTML со скриптовыми программами (JavaScript/VBScript), управляющими объектами DirectAnimation для создания различных мультимедийных эффектов в HTML-документах.

  • Любые средства разработки и языки программирования, поддерживающие COM-технологии: Java, Visual Basic, Microsoft Visual C++, Borland Delphi, могут использоваться для создания интерактивных мультимедийных приложений.

На рис. 8 показана архитектура DirectAnimation.

В начало

В начало

Мультимедийные компоненты DirectAnimation

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

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

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

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

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

Более подробно об этих компонентах см. статью «Microsoft DirectAnimation. Клиентские компоненты» в этом номере КомпьютерПресс.

В начало

В начало

DirectShow

Microsoft DirectShow (предыдущее название — Microsoft ActiveMovie) представляет собой архитектуру для реализации потокового воспроизведения на платформе Microsoft Windows с поддержкой мультимедийных потоков. Такие потоки могут содержать аудио- и видеоданные, представленные в различных форматах, включая MPEG, Apple QuickTime, AVI и WAV. Также реализована возможность сохранения информации на основе Video for Windows (VFW) или Windows Driver Model (WDM).

Компонент DirectShow интегрирован в Microsoft DirectX, что позволяет ему использовать различные сервисы — работу с аппаратными функциями аудио- и видеоустройств, тем самым обеспечивая оптимальную производительность. Для разработчиков Internet- и Intranet-приложений в состав DirectShow входит компонент Windows Media Player, позволяющий воспроизводить мультимедийные данные в различных форматах, а также обеспечивающий такие сервисы, как воспроизведение MPEG-фильмов и видео в формате DVD. Начиная с версии DirectX Media 6.0 компонент Windows Media Player заменяет ранее использовавшийся компонент ActiveMovie.

В начало

В начало

DirectX Transform

DirectX Transform служит для реализации различных типов трансформаций и переходных эффектов, которые могут быть применены к графическим изображениям и трехмерным объектам. Благодаря своей гибкой архитектуре, DirectX Transform может настраиваться на различные типы данных и, таким образом, является программно расширяемым. Данный компонент используется совместно с DirectAnimation при создании Web-приложений, мультимедийных приложений и других типов программ.

В начало

В начало

Будущее DirectX

Фирма Microsoft уже объявила о некоторых возможностях, которые появятся в будущих версиях DirectX. В частности, в версии 7.0 (которая должна выйти в конце 1999 года) планируется ввести новые функции для трехмерного звука, многоканального аудио, AC-3 (Dolby Digital) и графики, улучшения производительности, поддержку новых типов устройств, аппаратную реализацию трансформаций и источников света, механизмы расширений, геометрический морфинг и интеграцию с технологией Fahrenheit.

В начало

В начало

DirectX for Visual Basic

В состав DirectX 7.0 будет входить DirectX for Visual Basic — языковая поддержка для разработчиков на Visual Basic, которая позволит им создавать игровые и мультимедийные приложения на языке Basic так же легко, как это сейчас делают разработчики на C/C++ и Java. Ядром DirectX for Visual Basic станет динамически загружаемая библиотека (DLL), которая будет осуществлять перенаправление объектов между ядром DirectX и Visual Basic. Данная библиотека будет поддерживать основные типы данных, свойственные Visual Basic, и изолировать разработчиков на этом языке от необходимости использовать несвойственную им семантику. Для обеспечения наибольшей гибкости и совместимости объектная модель останется той же, что доступна сейчас из языков C/C++.

Помимо этого в состав DirectX for Visual Basic будет включено множество примеров, компонентов и справочная система.

В начало

В начало

DirectX 8.0 и далее. . .

В версии 8.0 впервые появятся первые плоды совместной деятельности двух компаний — Silicon Graphics и Microsoft.

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

В начало

В начало

Fahrenheit

Говоря о будущем технологии DirectX, следует упомянуть и совместный проект фирм Silicon Graphics и Microsoft под названием Fahrenheit. Целью данного проекта является разработка архитектуры для графических технологий, которые могли бы использоваться в различных областях. В этом проекте также участвуют такие фирмы, как Intel и Hewlett-Packard.

В состав Fahrenheit входит три основных компонента:

  • Низкоуровневый программный интерфейс (Fahrenheit Low Level API, FLL), рассчитанный на пользовательские и профессиональные графические приложения, работающие в среде Windows. Аналогами FLL являются Direct3D Immediate Mode и OpenGL. Данный интерфейс полностью совместим с уже существующими приложениями и драйверами, написанными для Microsoft Direct 3D и OpenGL. После выхода FLL заменит Direct3D и обеспечит интеграцию с OpenGL.

  • Интерфейс Scene Graph (Fahrenheit Scene Graph, FSG), который позволит увеличить производительность графических приложений и расширить их функциональные возможности. Данный интерфейс базируется на сервисах, предоставляемых OpenGL, Direct3D Immediate Mode и FLL, и предоставляет древовидные структуры, в которых отдельные сцены могут быть описаны в терминах геометрии, текстур, освещения и т.п. Таким образом, приложения указывают, что необходимо отобразить, а не какими средствами это достигается. FSG является дальнейшим развитием таких технологий, как Performer, Open Inventor, Cosmo3D и OpenGL++.

  • Модель Large Model Visualization (FLM), с помощью которой станет возможным управление большими трехмерными моделями. Данная модель основана на SGI OpenGL Optimizer и HP DirectModel. FLM будет представлять собой расширение FSG, обладающее функциональностью, необходимой для визуализации моделей большого размера, например целого автомобиля, и будет поддерживать конструктивы, используемые в САПР, такие как NURBS, волнистые поверхности (curved surfaces) и т.п.

Архитектура проекта Fahrenheit показана на рис. 9.

Первые компоненты проекта Fahrenheit — Fahrenheit Scene Graph и Fahrenheit Large Model появятся в IV квартале 1999 года, Fahrenheit Low Level API — в следующем году.

КомпьютерПресс 7'1999