- •Структура и состав средств компьютерной графики
- •Технические средства компьютерной графики
- •Принципы формирования графического изображения на экране дисплея
- •Интерфейсные шины
- •Разновидности видеоадаптеров
- •Цвет в компьютерной графике
- •Растровые форматы
- •Векторные и метафайловые форматы
- •Сжатие графических данных
- •Современные графические API-интерфейсы
- •API Microsoft DirectX
- •API OpenGL
- •API Fahrenheit
Благодаря аппаратной независимости, применению компонентной объ-
ектной модели (Component Object Model, COM), интеграции с Internet сервисы
DirectX Media могут быть использованы разработчиками мультимедийных приложений для анимации, потокового вывода информации и интеграции различных типов мультимедийных данных - двухмерной векторной графики, трехмерной графики, аудио - и видеофрагментов.
В состав новых версий DirectX, начиная с 7.0, входит DirectX for Visual Basic - языковая поддержка для разработчиков на Visual Basic, которая позволит создавать мультимедийные приложения на языке Basic. Ядром DirectX for Visual Basic станет динамически загружаемая библиотека (DLL), которая будет осуществлять перенаправление объектов между DirectX и Visual Basic и поддерживать основные типы данных, свойственные Visual Basic.
API OpenGL
API OpenGL (Open Graphics Language) - это интерфейс трехмерной графики, предложенный фирмой SGI. Он позволяет создавать трехмерные графические изображения независимо от используемых оконных интерфейсов, операционной системы и графических устройств. В настоящее время разработкой стандарта OpenGL занимается консорциум OpenGL Architecture Review Board (ARB), в состав которого входят фирмы SCI, Microsoft, Intel, IBM и Digital Equipment. Версии OpenGL существуют на графических станциях фирмы SGI (под управлением ОС IRIX и Windows NT), рабочих графических станциях фирмы DEC, компьютерах IBM RS/6000 и всех платформах, поддерживаемых ОС семейства Microsoft Windows.
В основе OpenGL лежит библиотека графических функций, предоставляющая разработчику различные возможности для создания и отображения двумерных и пространственных моделей и анимации. Программисты могут
52
объединять возможности OpenGL с другими библиотеками или функциями, предоставляемыми ядром конкретной ОС. Большинство графических карт с ускорителями и специализированных 3D-карт поддерживают выполнение примитивов OpenGL на аппаратном уровне. Ниже кратко перечислены некоторые основные функции и возможности, реализованные в библиотеке OpenGL:
-геометрические примитивы позволяют задавать математическое описание объектов. В настоящее время реализуются следующие примитивы: точки, линии, растровые изображения;
-преобразование примитивов: масштабирование, перемещение, вращение, перспективные искажения и т.д.;
-просмотр и моделирование позволяют размещать трехмерные объекты на сцене, передвигать камеры вокруг сцены, выбирать требуемый вид (точку обзора), для которого выполняется рендеринг;
-двойная буферизация позволяет устранить мерцание при анимации. Каждый следующий кадр анимации строится в отдельном буфере и отображается только по завершении рендеринга;
-антиалиасинг сглаживает "ступенчатые" края цветовых переходов для сглаживания "лестничного эффекта";
-полиномные вычисления для поддержки NURBS-сплайнов. Это позволяет рисовать плавные кривые через небольшой набор опорных точек, что исключает необходимость сохранять все промежуточные значения;
-атмосферные эффекты, затенение, модели освещения.
API Fahrenheit
API Fahrenheit является перспективной разработкой фирм Silicon Graphics и Microsoft при участии Intel и Hewlett-Packard, которая ставит целью
53
создание более совершенной архитектуры для графических технологий. В состав Fahrenheit входит три основных компонента:
-низкоуровневый программный интерфейс (Fahrenheit Low Level, FLL), рассчитанный на пользовательские и профессиональные графические приложения, работающие в среде Windows. Он полностью совместим с уже существующими приложениями и драйверами, написанными для Microsoft Direct3D и OpenGL. Предполагается, что FLL заменит Direct3D и обеспечит интеграцию с
OpenGL;
-интерфейс Scene Graph (Fahrenheit Scene Graph, FSG) позволяет увели-
чить производительность графических приложений и расширить их функциональные возможности. FSG является дальнейшим развитием таких техноло-
гий, как Performer, Open Inventor, Cosmo3D, OpenGL++. Он базируется на сервисах, предоставляемых OpenGL, Direct3D Immediate Mode и FLL и дает воз-
можность использовать специальные структуры, в которых отдельные сцены могут быть описаны в терминах геометрии, текстур, освещения и т.д. Таким образом, приложения указывают, что необходимо отобразить, а не какими средствами это достигается;
-модель Large Model Visualization (FLM). С ее помощью возможно управление большими трехмерными моделями. Модель основана на SCI Open Optimizer и HP Direct Model. FLM будет представлять собой расширение FSG, обладающее функциональными возможностями, необходимыми для визуализации моделей большого размера, например, целого автомобиля, и поддерживать функции, используемые в САПР, например, такие как NURBS, волнистые поверхности (curved surfaces).
54
