Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOSY.doc
Скачиваний:
101
Добавлен:
15.03.2015
Размер:
2.95 Mб
Скачать

Вопрос 2 – Современные графические библиотеки

Визуализация информации

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

В современных научных и технических приложениях сложный графическая вызуализация реализуется с использованием библиотеки OpenGL, которая стала стандартом de facto в области трёхмерной визуализации. Библиотека OpenGL представляет собой высокоэффективный программный интерфейс к графическому аппаратному обеспечению. Наибольшую призводительность эта библиотека позволяет достичь в аппаратных системах работающих на основе современных графических ускорителей (аппаратное обеспечение, освобождающее процессор и выполняющее вычисления, необходимые для визуализации).

Архитектура и алгоритмы были библиотеки разработаны в 1992 году специалистами фирмы Silicon Graphics, Inc. (SGI) для собственного аппаратного обеспечения графических рабочих станций Iris. Через несколько лет библиотека была портирована на многие аппаратно-программные платформы (в том числе Intel+Windows) и сегодня является надёжной многоплатформенной библиотекой.

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

OpenGL является не объектно-ориентированной, а процедурной библиотекой (около сотни комманд и функций), написанная на языке С. С одной стороны - это недостаток (компьютерная графика - благодатная область использования объектно-ориентированного программирования), но зато работать с OpenGL могут программисты работающие на C++, Delphi, Fortran и даже Java и Python.

Совместно с OpenGL обычно используется несколько вспомогательных библиотек, которые помогают наcтроить работу библиотеки в данной среде или выполнить более сложные, комплексные функции визуализации, которые реализуются посредством примитивных функций OpenGL. Кроме того существует большое количество графических библиотек специализированного назначения, которые используют библиотеку OpenGL в качестве низкоуровневого базиса, своеобразного ассемблера, на основе которого строятся сложные функции графического вывода (OpenInventor, vtk, IFL и многие другие).

Сairo - это программная библиотека, которая используется для реализации векторной графики, с аппаратно независимым API. Cairo позволяет создавать примитивы в двухмерном пространстве через разные выходные буферы. Cairo позволяет использовать аппаратное ускорение, когда это возможно. Является свободным ПО под двойной лицензией GNGPL и Mozilla Public License (MPL).

Несмотря на то, что cairo написан на С, существуют средства для его использования на многих других языках программирования, включая C + +, C #, Smalltalk и других.

Microsoft DirectX программирования игр и видео, на Microsoft платформе.

Первоначально, имена этих API: Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, и так далее. Название прямая X было придумано как сокращение для обозначения всех этих API (X стоя в частности для имен API) и вскоре стал названием коллекции. Когда Microsoft позже было решено разработать игровую консоль, X был использован в качестве основы названия Xbox чтобы показать, что консоль была основана на DirectX технологии. X начальной был перенесен в названии API, предназначенный для Xbox, таких как XInput и кросс-платформенный Audio Creation Tool(XACT), в то время как модель DirectX была продолжена для Windows API, таких какDirect2D и DirectWrite.

OpenGL Utility Toolkit (GLUT) является библиотекой утилит для OpenGL программ, которые в основном выполняют на уровне системы ввода / вывода с принимающей операционной системой. Выполняемые функции включают в себя окно управления и мониторинга клавиатуры и мыши ввода. Подпрограммы для рисования ряда геометрических примитивов. GLUT также имеет ограниченную поддержку для создания всплывающих меню.

Libart - это графическая библиотека ( Свободное Программное Обеспечение ) в основе с векторным API . Cairo использует Libart.

Simple DirectMedia Layer (SDL) - кросс-платформенная, мультимедиа библиотека, которая свободно распространяется вместе с исходным кодом на языке C, которая предоставляет простой интерфейс к графике, звуку и устройств ввода на различных платформах. SDL содержит слово layer (слой) в названии, потому что в действительности это библиотека-обертка вокруг функций специфичных для ОС. Главная цель SDL - предоставить общий Фреймворк доступа к тем функциям на различных системах.

Разработчики используют ее для написания компьютерных игр или других мультимедиа приложений, которые могут работать на многих ОС включая: Android, AmigaOS,  AmigaOS 4, и Windows. Она руководит видеовыводом, событиями, аудио, приводом CD-ROM, потоками, доступом к сети и таймерами.

WebGL (веб-Graphics Library) является библиотекой, которая расширяет возможности JavaScript, язык программирования, чтобы он мог генерировать интерактивную 3D-графику в любой совместимый веб-браузер. WebGL код выполняется на плате компьютера дисплея (видеокарте), которая должна поддерживать шейдерный рендеринг. WebGL является частью HTML-элемента, который обеспечивает 3D компьютерную графику API без использования плагинов. Спецификация была выпущена как версия 1.0 от 3 марта 2011 года.

Xgl - Х серверная архитектура, разработанная Дэвидом Ревеменом (David Reveman), как надстройка для открытой графической библиотеки OpenGL, которая реализуется с помощью библиотеки Glitz. Это позволяет современным видео адаптерам благодаря своим OpenGL драйверам использовать аппаратное ускорение всех Х серверов, OpenGL и XVideo приложений.