Цвет фигуры, определяется с помощью объекта Material.
Material { ambientColor 0.2 0.2 0.2 diffuseColor 0.8 0.8 0.8 specularColor 0 0 0 emissiveColor 0 0 0 transparency 0 }
Параметры ambientColor, diffuseColor, specularColor и emissiveColor управляют цветами и указываются в палитре RGB (красный, зеленый и голубой), причем первая цифра определяет интенсивность красного цвета, вторая - зеленого, а третья - синего.
К примеру, синий кубик, может быть описан следующим образом:
#VRML V1.0 ascii Material { diffuseColor 0 0 1 } Cube {}
Параметр transparency может принимать значения от 0 до1 и определяет степень прозрачности, причем максимальная прозрачность достигается при transparency равном единице. В приведенном примере описано два цилиндра разных размеров, меньший из которых просвечивает сквозь другой.
#VRML V1.0 ascii Material { diffuseColor 0 0 1 transparency 0.7 } Cylinder { height 1 radius 1 } Material { emissiveColor 1 0 0 transparency 0 } Cylinder { height 0.8 radius 0.1 }
Для имитирования различных поверхностей в VRML существует объект Texture2.
В качестве текстуры легче всего использовать обычный графический файл, например, в GIF-формате. В таком случае для "натягивания" текстуры на трехмерное изображение нужно только указать путь к файлу в параметре filename объекта Texture2.
. #VRML V1.0 ascii Texture2 { filename "krp.gif" image 0 0 0 wrapS REPEAT wrapT REPEAT } Cube { width 1 height 1 depth 1 }Параметры wrapS и wrapT могут принимать значения REPEAT или CLAMP, и управляют натягиванием текстуры по соответственно горизонтальной и вертикальной осям.