Слайд 2OpenGL (Open Graphics Library – открытая графическая библиотека) -спецификация, определяющая независимый от
языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двухмерную и трёхмерную компьютерную графику.
Слайд 3DirectX - набор API, разработанных для решения задач, связанных с программированием под
Microsoft Windows. Наиболее широко используется при написании компьютерных игр.
DirectX состоит из:
Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
Direct2D : интерфейс вывода двухмерной графики
Слайд 4Основной особенностью OpenGL можно считать простоту. Ядро OpenGL контролирует процесс обработки примитивов.
Для передачи данных используется процедурная модель. В каждый момент времени состояние OpenGL определяется через набор переменных, задающих параметры обработки. Каждый новый переданный треугольник проходит обработку в соответствии с текущим состоянием. Такой механизм весьма эффективен, а код обычно короток и прост. Хотя ядро OpenGL процедурное, в использовании его совместно с объектно-ориентированными технологиями сложностей обычно не возникает: все зависит от выбора программиста.
Слайд 5Структура DirectX значительно отличается от OpenGL. DirectX основан на модели COM (Component
Object Model). Это означает, что в отличие от простого вызова функций эта модель предполагает выполнение некоторых дополнительных действий, связанных с компонентной архитектурой DirectX. Такая архитектура имеет как достоинства, так и недостатки. В частности, код, в котором используются вызовы DirectX, обычно не является идеалом легко читаемого и понимаемого. Поэтому даже рисование простого треугольника требует огромного объема кода. Разработчики Microsoft, конечно, понимают это, поэтому для упрощения программирования ими создана отдельная библиотека DirectX Common Files, которая скрывает часто используемый код.
Слайд 6По поддержке аппаратных функций OpenGL и DirectX , в общем, эквиваленты. OpenGL
новые функции доступны через механизм расширений, а в DirectX они появляются в новых версиях.
Серьезным достоинством OpenGL является, прежде всего, то, что это «открытый стандарт». Любая компания, имеющая аппаратную платформу, может купить лицензию у SGI и затем сделать собственную реализацию OpenGL. Изменения в OpenGL предлагаются, обсуждаются и утверждаются представителями различных компаний. Что касается DirectX, то здесь ситуация прямо противоположная. Только Microsoft может вносить какие-либо изменения в библиотеку. Иначе говоря, именно Microsoft в конечном итоге определяет все пути развития библиотеки, и если путь был выбран неверно, это может быть исправлено только в новой версии.