Существует множество способов передавать графическую информацию по сети. Можно, как это сделано в HTML, передавать статические изображения, но, совершенно очевидно, этот подход не сулит особенно широких возможностей взаимодействия пользователя с графической информацией. Второй метод - пересылать исходный код программы формирования изображения на каком-либо общедоступном и распространенном языке, например OpenGL. Такой подход имеет очевидные достоинства и является еще одним серьезным доводом в пользу стандартизации языковых средств компьютерной графики. Но использование в качестве носителя графической информации кода программы потребует установки на клиентском компьютере сети компилятора графической программы, например включения его в состав броузера. Третий подход- использование модели "клиент/сервер", подобной той, что применяется в OpenGL. Но при этом нужно согласиться на использование единого API и приемлемого для всех формата передачи дисплейного списка. Именно такая философия положена в основу Java.
Существует еще и четвертый подход, который сулит существенное повышение гибкости методов создания, хранения и передачи графической информации. Этот подход основан на идее применения баз данных для описания сцены, включая такие ее компоненты, как геометрические объекты, источники света, материалы и пр. База данных сохраняется в стандартном текстовом формате и легко передается по сети. Получатель описания сцены в виде базы данных может сформировать соответствующее изображение, установив нужные программы на своем компьютере. Этот подход используется в системах, основанных на языке VRML.
Разработка баз данных такого типа основана на тех же концепциях, которые мы уже обсуждали в главе 2, когда речь шла о функциональных возможностях графических API. Поскольку многие вопросы, в частности выбор набора примитивов, остаются прежними, имеет смысл выбрать такой состав элементов базы данных, который соответствует возможностям наиболее распространенных API, поддерживаемых на большинстве аппаратных и программных платформ. Одним из фаворитов в конкурсе API является OpenGL, но у этой системы, по крайней мере в том виде, в котором она существует на сегодняшний день, есть существенный недостаток- отсутствие встроенных объектно-ориентированных средств для описания сложных сцен. Разработчики VRML отдали предпочтение базе данных Open Inventor. Как уже отмечалось в разделе 8.7, Open Inventor представляет собой надстройку над OpenGL, ко-