Система трехмерного графического моделирования на основе библиотеки OpenGL. Параметрическая модель сложного трехмерного объекта
7

 

1.5 Сравнительный анализ существующих графических библиотек

На современном этапе развития систем по обработке компьютерной графики существует несколько методов по визуализации на экране компьютера графических объектов. Рассмотрим три основных метода: программный, использование библиотеки OpenGL и библиотеки DirectX.

 

1.5.1 Библиотека Microsoft DirectX

 

Библиотека Microsoft DirectX является наиболее динамично развивающейся и полнофункциональной.

Ее преимущества:

- поддержка со стороны операционной системы Microsoft Windows;

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

 Основными недостатками этой библиотеки являются:

моноплатформенность;

-    не очень сильная аппаратная поддержка со стороны графических процессоров;

-    абсолютная коммерциализация всех продуктов корпорации Microsoft.

1.5.2 Пакет графического моделирования OpenGL

 

Библиотека OpenGL представляет собой интерфейс программирования трехмерной графики. Единицей информации является вершина, из них состоят более сложные объекты. Программист создает вершины, указывает как их соединять (линиями или многоугольниками), устанавливает координаты и параметры камеры и ламп, а библиотека OpenGL берет на себя работу создания изображения на экране.. Используя OpenGL легко создать трехмерные поверхности, наложить на них текстуры, осветить источниками света, сделать эффект тумана, прозрачности, смешивания цветов, а также наложить трафарет, передвигать объекты сцены, лампы и камеры по заданным траекториям, сделав, тем самым, анимацию. Для работы с устройствами ввода, такими как клавиатура или мышь, можно задействовать функции конкретной операционной системы, под которую пишется программа, или воспользоваться надстройками над OpenGL, такими как библиотеки GLUT или GLAUX.

В различных видеокартах по разному реализованы функции по обработке данных. Часть из них лучше работает с интерфейсом OpenGL, часть – DirectX. Большинство производителей видеокарт обеспечивают аппаратную поддержку как можно большего числа функций. Но, так как спецификация библиотеки OpenGL абсолютно открыта, то реализация чисто OpenGL-алгоритмов часто оказывается лучше, чем алгоритмов DirectX.