8.10. Графика и Web
торая расширила функции этой графической системы и, в частности, добавила возможность работы с графами сцен. Open Inventor позволяет пользователю сохранять описание сцены в виде текстового файла. Добавив связи в базу данных, мы получаем в свое распоряжение практически все возможности, необходимые для описания трехмерных сцен, компоненты которых распределены по разным узлам сети.
Язык VRML очень тесно связан с OpenGL. VRML предоставляет пользователю методы описания распределенного мира трехмерных объектов, а броузер VRML выполняет "сборку" изображения, объекты которого разбросаны по узлам сети Web. Хотя в принципе броузер может использовать любую технологию формирования изображения - конвейерную, основанную на трассировке лучей или на методе излучательности, - тот факт, что язык базируется на Open Inventor, склоняет к выбору технологии, реализованной в OpenGL.
8.10.4. Java и аплеты
Использовать те средства, которые были рассмотрены в предыдущих главах, для организации взаимодействия пользователя с программой при работе в сети Web довольно проблематично. Базы данных VRML существуют в текстовом формате, а это предполагает, что сервер формирует образы всех объектов, "прописанных" в базе данных. Следовательно, пользователь не имеет возможности разработать программный код на одном узле сети и быть уверенным, что этот код будет выполняться на другом, поскольку компьютеры на этих узлах могут быть совершенно различными.
Язык Java позволяет частично решить эту проблему, поскольку он предполагает работу в программно созданной "виртуальной" машине, которая может, по крайней мере теоретически, быть реализована на любой аппаратной и программной платформе. Программа на языке Java компилируется в байтовый код (byte code), который затем выполняется на любой Java-машине, независимо от того, на какой платформе она реализована. Программы небольшого объема в байтовом коде получили название аплеты (applets). Такие программы "понимаются" любыми моделями Web-броузеров и в настоящее время широко используются для расширения возможностей динамической обработки информации в сети Web.