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