Material- und Bildtexturen
Materialtexturen
Die folgenden Beispiele sollen den Einsatz von Texturen in X3D erklären.
Ein Objekt im dreidimensionalen Raum sollte auch ein definiertes Aussehen für dessen Oberfläche haben. Fehlt dies, so bleibt es dem Anzeigeprogramm überlassen, wie es das Objekt anzeigen will. Meistens wird hier ein reines Weiss oder Schwarz benutzt.
Abb. 6: Objekt ohne Aussehen
Abb. 7: Objekt mit Grundfarbe
Das Aussehen eines Objektes kann über eine Materialtextur definiert werden. Alleine schon das hinzufügen einer Textur erlaubt es dem Anzeigeprogramm Schattierungen auf dem Objekt anzuzeigen, da dies besagt, dass sich nun eine Oberfläche auf dem Objekt befindet, die Licht aufnehmen kann. Hierfür wird dem "Shape"-Knoten, welches das Objekt definiert, ein Knoten namens "Appearance" hinzugefügt, welches das Aussehen definiert.
Im "Appearance"-Knoten kann mit dem Kindelement "Material" eingefügt werden, um das Aussehen zu bestimmen. Der "Material"-Knoten unterstützt das Attribut "diffuseColor", welches erlaubt eine Grundfarbe für das Aussehen zu definieren. Die Farbe lässt sich durch eine Kombination der drei Grundfarben rot, grün und blau (RGB) definieren, mit Werten zwischen 0 und 1. Im folgenden Beispiel 0.9 rot, 0.1 grün, 0.3 blau.
Beispielcode:
<Transform>
<Shape DEF='Box01_SHAPE'>
<Appearance>
<Material diffuseColor='0.9 0.1 0.3' />
</Appearance>
...
Bildtexturen
Als Alternative zu definierten Materialen, lassen sich auch Bilder für Texturen nehmen. Im folgenden Beispiel wird ein Satelitenbild der Erde um einen Quader gelegt. Anstelle des "Material"-Knotens wird der "ImageTextur"-Knoten eingesetzt. In diesem Knoten wird mit dem Attribut "url" wird die Speicheradresse des Bildes angegeben, welches verwendet werden soll.
Abb. 8: Bildtextur (Celestia Motherlode)
Abb. 9: Quader mit Bildtextur
Beispielcode:
<Transform>
<Shape DEF='Box01_SHAPE'>
<Appearance>
<ImageTexture url='EarthMap.jpg' />
</Appearance>
...