Gruppen, Transformation, Geometrie und Material

Seminararbeit: XML 3D Formate - X3D und XVL
Prev | Chapter 4. eXtensible 3D - X3D | Next

# 4.3. Gruppen, Transformation, Geometrie und Material

Szenen setzen sich meistens aus <Shape>-Knoten zusammen, welche wiederum <Appearance>-Knoten zur Steuerung der Erscheinung (Material, Textur...) und die eigentliche Geometrie in Gestalt einfacher Formen (Box, Cone, Cylinder, Sphere...), aber auch Draht- und Flaechenmodelle aus Polygonen (Line, IndexedFaceSet...) oder komplizierteren Strukturen (NURBS, ElevationGrid...) enthalten. Des weiteren kann man jeglichen Unterknoten einer Szene mittels <Group>-Knoten zu einer Gruppe zusammenfassen um eventuell einfach damit umgehen zu koennen, ausserdem kann man um solche Unterknoten auch einen <Transform>-Knoten stellen der statische Transformationen wie Rotationen, Translationen und Scheerungen enthaelt.

    <Group DEF="IFCube">
        <Shape>
            <Appearance>
                <Material diffuseColor='0 0.5 1'/>
            </Appearance>
            <IndexedFaceSet coordIndex='0, 1, 2, 3, -1, 7, 6, 5, 4, -1, 0, 4, 5, 1, -1, 1, 5, 6, 2, -1, 2, 6, 7, 3, -1, 3, 7, 4, 0'>
                <Coordinate point='-1.0 1.0 1.0, 1.0 1.0 1.0, 1.0 1.0 -1.0, -1.0 1.0 -1.0, -1.0 -1.0 1.0, 1.0 -1.0 1.0, 1.0 -1.0 -1.0, -1.0 -1.0 -1.0'/>
            </IndexedFaceSet>
        </Shape>
    </Group>

Hier erkennt der geneigte Leser aber auch ein - der Meinung des Autors nach sehr nachteiliges - Feature von X3D: USE/DEF. Jeglicher Knotentyp innerhalb einer Szene kann mittels des Attributes "DEF=Name" einen Prototypen definieren der dann von anderen Knoten der selben Klasse per "USE=Name" wieder genutzt werden kann. Hier wurde anstatt eine der zahlreich vorhandenen Moeglichkeiten Links in XML, wie zum Beispiel die XML Linking Language (XLL), zu nutzen eine eigene Methode entwickelt, weswegen leider der Entwickler beim Laden einer X3D-Datei nicht nur auf bekannte Mechanismen zum Parsen von XML zurueckgreifen kann sondern den erzeugten DOM-Baum nochmals "haendisch" nachbearbeiten muss.

Prev | Home | Next
Kopf, Szene und Navigation | Up | Lighting