Главная » 3D графика » OpenGL – что дальше ?

RSS

OpenGL – что дальше ?

Не нравитсяНравится   Рейтинг +4

Opengl aaТрудно переоценить роль стандарта OpenGL в становлении и распространении трехмерной машинной графики. С этим стандартом связан прикладной интерфейс для визуализации пространственных объектов, равно как с ним ассоциируется и целая идеология проектирования специальной аппаратуры – графических ускорителей, благодаря которым трехмерные сцены стали реальностью, хотя и виртуальной. Однако, сегодня впору задаться вопросом, есть ли перспективы у OpenGL или она обречена?

На сегодня OpenGL представляет собой общепризнанный стандарт, реализованный для всех классов компьютеров от ПК до суперкомпьютеров. Для разработчика, OpenGL – это, прежде всего, базовая библиотека из нескольких сотен графических функций, с помощью которых можно создать геометрию сцены и произвести ее рендеринг, плюс расширения: GLU – вспомогательные функции, упрощающие разработку и опирающиеся на базовый набор возможностей, и GLX – интерфейс для взаимодействия с оконной системой X Window. Однако успех OpenGL, по-видимому, все же обусловлен не удачным API, а следующими двумя обстоятельствами. Первое: еще в 1982 г. в Стенфордском университете была разработана концепция графической машины, на основе которой в рабочей станции Silicon IRIS был реализован конвейер рендеринга. Второе: OpenGL – открытый и мобильный стандарт. Это означает, в частности, что программы можно переносить на любую платформу, а графический вывод OpenGL получать как локально, так и по сети на любом рабочем месте, поддерживающем X Window и имеющем расширение GLX.

Машинная графика еще относительно молода, и подходящим здесь является именно развивающийся стандарт. Давление главным образом ощущается со стороны производителей CAD систем – средства пространственного моделирования уже стали повседневным инструментом для многих инженеров и проектировщиков. Однако в течение последних 15-20 лет сложность моделей постоянно росла, и на сегодня сложилась ситуация, при которой прогрессивные формы организации проектирования (работа с большими сборками) лимитируются возможностями современного графического оборудования и ПО интерактивной визуализации.

Специалисты пришли к выводу, что тип взаимодействия с моделью, известный как проектирование в контексте, позволяет обнаруживать такие ошибки как некорректное расположение компонентов, еще на ранних этапах цикла разработки, а это определеннейшим образом приводит к уменьшению трудозатрат и стоимости проекта.

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

Ключ – явное представление моделей

OpenGL открывает перед пользователем возможности очень тонкого управления процессом рендеринга: можно определить такие параметры как матрицы преобразований координат, коэффициенты уравнений расчета освещенности, метод антиалиасинга и т.д. Но! Все это чистая визуализация. OpenGL не имеет средств для представления собственно моделей сложных геометрических объектов, если понимать модель как структурное описание элементов, отличных от примитивов. Программа на OpenGL в большей степени специфицирует, порядок получения определенного результата, а не его внешнее представление. Результат работы программы – только изображение. Иначе говоря, OpenGL является фундаментально процедурным, а не дескриптивным языком.

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

Не удивительно, что в этом направлении и пошло развитие, главной движущей силой которого снова стала компания Silicon Graphics. Появились IRIS Performer, Open Inventor, Cosmo 3D, а теперь и OpenGL Optimizer. Хотя акценты в этих программно-инструментальных системах расставлены по-разному, общим для этой линии является развитие средств управления прикладной моделью (графом сцены) и реализация заложенных в ней возможностей.

Страницы : 1 2 3 4 5 6

Таги: ,