W polu color
umieszczamy definicję węzła Color.
Jeżeli pole color
pozostawimy niezdefiniowane, całemu obiektowi zostanie przypisany kolor
bądź tekstura zdefiniowana w węźle Appearance.
Jeżeli zdecydujemy się na określenie węzła Color,
to musimy również zdecydować czy kolory, które w nim zdefiniujemy, będą
przypisane do każdego wierzchołka czy do każdej ściany.
1. Jeśli pole colorPerVertex
będzie miało wartość TRUE (wartość domyślna) to kolory będą przypisane
do wierzchołków:
a. W polu colorIndex
przyporządkowujemy kolory do każdego wierzchołka w ten sam sposób jak przy
indeksowaniu wielokątów w polu coordIndex.
Pole coordIndex
musi zawierać tyle samo wartości, co pole coordIndex,
a definicja każdego koloru musi się kończyć wartością -1. Jeśli w węźle
Color jest zdefiniowanych
N kolorów, to w polu colorIndex powinno się znaleźć N-1 indeksów.
b. Jeśli pole colorIndex
zostawimy puste, wtedy przeglądarka do nałożenia kolorów użyje wartości
znajdujących się w polu coordIndex.
2. Jeśli pole colorPerVertex
będzie miało wartość FALSE, to kolory przypisane będą do ścian obiektu:
a. W polu colorIndex
przyporządkowywujemy kolory do każdej ściany obiektu. Liczba wartości w
tym polu musi być przynajmniej równa liczbie zdefiniowanych ścian. Jeśli
w węźle Color
jest zdefiniowanych N kolorów, to w polu colorIndex powinno się znaleźć
N-1 indeksów.
b. Jeżeli pole colorIndex
zostawimy puste, to na ściany obiektu zostaną nałożone kolory w takiej
kolejności, w jakiej występują w węźle Color.
W węźle Color
musi się znajdować przynajmniej tyle definicji kolorów, ile obiekt ma ścian.
Jeśli w polu normal
zdefiniujemy węzeł Normal,
to wektory normalne względem wierzchołków lub ścian obiektu określamy w
sposób opisany powyżej: pole colorPerVertex
odpowiada polu normalPerVertex,
a pole colorIndex
odpowiada polu normalIndex.
Jeżeli pole normal
zostawiny niezdefiniowane, to przeglądarka automatycznie obliczy wektory
normalne na podstawie pola creaseAngle.
Jeśli nie określimy węzła TextureCoordinate
w polu texCoord,
to tekstura na zdefinowany obiekt zostanie nałożona domyślnie. Natomiast
jeżeli zdefiniujemy węzeł TextureCoordinate,
tekstura na obiekt stworzony w węźle IndexedFaceSet
zostanie nałożona w sposób opisany poniżej:
1. Wartości w polu texCoordIndex
wskazują, które współrzędne tekstury (określone w węźle TextureCoordinate),
do jakich wierzchołków mają zostać przypisane. Przyporządkowanie to opiera
się na tych samych zasadach co w polu coordIndex.
Liczba wartości w polu texCoordIndex
musi być przynajmniej równa liczbie wartości w polu coordIndex.
2. Jeśli pole texCoordIndex
zostawimy nie zdefiniowane, do nałożenia tekstury zostaną wybrane wartości
z pola coordIndex.