VRML в примерах

Цвет и текстура


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



Содержание раздела