Глава 21. Язык моделирования виртуальной реальности (VRML)___________475
Например, можно приписать три значения цвета полю diffuseColor элемента Material:
Materia { di-cfuseColor [1 0 0,0.5 0.5 О,О 1 0] )
Таким образом, можно определять цвета различных сторон объекта.
Наименование элементов.Любому элементу можно дать имя, чтобы обращаться к нему впоследствии. Это делается при помощи префикса DEF, как показано в листинге 21.1:
DEF BackgroundColor Inf { string "1 О О"}
Здесь BackgroundColor является специальным именем элемента, используемым для определения цвета фона. В общем случае, вы можете дать любому элементу любое имя.
Предупреждение
Определение цвета фона, показанное выше, не поддерживается стандартом VRML 1.0 — это расширение, поддерживаемое некоторыми браузерами VRML. Если вы используете браузер, который не поддерживает это расширение, данный элемент будет проигнорирован, и фон будет иметь цвет, который определит браузер по умолчанию (как правило, черный). Цвет фона определяется подобным образом в примерах этой главы потому, что в спецификации VRML 1.0 официально не указан способ определения цвета фона;однако здесь это важно для того, чтобы примеры правильно воспроизводились в печатной форме.
Иерархия объектов мира VRML
Мир VRML может быть рассмотрен как иерархия простых объектов VRML. В этом языке элемент separator используется в качестве контейнера, содержащего объект. Одни элементы внутри контейнера Separator определяют геометрию (вершины и стороны объектов VRML), а другие используются для группирования простых объектов в более сложные. Таким образом, в VRML создается иерархия объектов. Элемент Separator может содержать порожденные элементы для описания свойств объектов этого элемента.
Простые объекты VRML
Спецификация VRML 1.0 включает восемь элементов, с помощью которых можно построить простейшие геометрические объекты. Все объекты VRML 1.0 строятся из одного или нескольких подобных элементов. В их состав входят четыре элемента, описывающих канонические геометрические тела, один элемент для описания ASCII-текста и три — для создания произвольных двух- и трехмерных объектов.