Цвет фигуры, определяется с помощью объекта 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, и управляют натягиванием текстуры по соответственно горизонтальной и вертикальной осям.