logo
Ответы по компьютерной графике

Полуавтоматически (дигитайзер,

планшет ввода)

Сканирующие

(черно-белые

и цветные сканеры)

Следящие

(отслеживание

линий)

  1. Графические библиотеки в языках программирования. Графический конвейер.

OpenGL(Open Graphics Library — открытая графическая библиотека)— спецификация, определяющая независимый отязыка программированиякросс-платформенныйпрограммный интерфейсдля написания приложений, использующих двумерную и трехмернуюкомпьютерную графику. Данный интерфейсвключает более 250-ти функций, которые могут использоваться для рисования сложных трехмерных сцен из простых примитивов. OpenGL широко используется при созданиивидеоигр, САПР, систем виртуальной реальности, визуализации в научных исследованиях.ПодMicrosoft Windowsконкурирует сDirectX. Существует ряд библиотек созданных поверх или в дополнение к OpenGL. Например,библиотека GLU, являющаяся практически стандартным дополнением OpenGL и всегда её сопровождающая, построена поверх последней, то есть использует её функции для реализации своих возможностей.Другие библиотеки, как, например, GLUT и SDL,созданы для реализации возможностей, недоступных в OpenGL. К таким возможностям относятся созданиеинтерфейса пользователя (окна, кнопки, меню и др.), настройка контекста рисования (область рисования, использующаяся OpenGL), обработка сообщений от устройств ввода/вывода (клавиатура, мышь и др.), а также работа с файлами. Обычно, каждый оконный менеджер имеет собственную библиотеку-расширение для реализации вышеописанных возможностей, например,WGLв Windows илиGLXвX Window System, однако библиотеки GLUT и SDL являются кросс-платформенными, что облегчает перенос написанных приложений на другие платформы.

Библиотеки, как GLEW(«The OpenGL Extension Wrangler Library») иGLEE («The OpenGL Easy Extension library»)созданы для облегчения работы с расширениями и различными версиями OpenGL. Это особенно актуально для программистов в Windows, так как, заголовочные и библиотечные файлы, поставляемые с Visual Studio, находятся на уровне версии OpenGL 1.1.

OpenGLимеет только набор геометрических примитивов (точки, линии, полигоны) из которых создаются все трехмерные объекты. Порой подобный уровень детализации не всегда удобен при создании сцен. Поэтому поверх OpenGL были созданы болеевысокоуровневые библиотеки, такие как Open Inventor и VTK.Данные библиотеки позволяют оперировать более сложными трехмерными объектами, что облегчает и ускоряет создание трехмерной сцены.Графический конвейер

Модельное преобразование.Переводит модель, заданную в локальных (собственных) координатах, в глобальное (мировое пространство)Модель «собирается» из частей, с помощью модельных преобразованийНа выходе– модель в единых мировых координатах Видовое преобразование «Подгоняет» мир под стандартную камеру, преобразует мировую систему координат в видовые координаты (которые подходят для «стандартной» камерыНа выходе– модель, готовая к проекции на экран Проективное преобразованиеВыполняет 3D преобразование, подготавливая модель к переходу на 2D(используется перспективное деление) . После перспективного преобразования необходимо отбросить координатуzи получить значения в оконных координатах(обычно от –1 до 1)