XML 3D Formate
X3D und XVL

Seminar

Michael Bayer

fh@nightspawn.com

Motivation

Wachsende Bedeutung von 3D in allen Bereichen

Ständig neue Formate – aber:
Kaum neue Funktionalität

Datenaustausch zwischen verschiedenen Applikationen

2/16

Inhaltsübersicht

Was bisher geschah

CAD/CAM und Echtzeitanwendungen

VRML

Warum XML?

X3D

Konzept

Vor-/Nachteile

Beispiel

2/16

XVL

Ziele

Lattice Structure

Patches

Dateistruktur

Beispiel

Produkte

Fazit

Was bisher geschah

CAD/CAM

Entwicklung, Fertigung bis in den Verkauf

Hohe Genauigkeit

Echtzeit

Film, Spiele, Präsentation

Schein wichtiger als Sein

2/16

VRML

Erstmals offener Standard

Basierend auf Szenengraph

Einfache Geometrie, Materialien, Transformation, Sensoren

Stark strukturiert -> Große Dateien

Kein Streaming

Es fehlen Features

2/16

Warum XML?

Reine Auszeichnungssprache

SGML Dialekt

Reines Textformat - Human readable

Mit “Bordmitteln” parsebar

Nahtloses Einbetten

=> Ideal zum Datenaustausch

2/16

X3D – eXtensible 3D

Nachfolger von VRML

XML-basierend

Modular durch Profile

Full

Immersive

Inter-

active

Interchange

NURBS

Humanoid

Animation

GeoSpatial

Fog

Scripting

Audio

Sensor

ElevationGrid

Inline

Box

Group

Transform

2/16

(Web3D Consortium)

X3D – eXtensible 3D

Sehr “lebendiges” Format

Extensions

Großer Featureumfang

Multi-Texturen (Bump- Normalmapping)

Shader

Streaming

...

Wirklich offener Standard

2/16

X3D – eXtensible 3D

Große Dateien

USE/DEF

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">

<X3D profile='Immersive' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance'
xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.0.xsd'>
<head>
<meta name='filename' content='Figure03.01DefaultBox.x3d'/>

<meta name='author' content='Andrea L. Ames, David R. Nadeau, and John L. Moreland'/> <meta name='translator' content='Don Brutzman'/>

<meta name='created' content='6 August 2000'/>

<meta name='revised' content='28 September 2004'/>

<meta name='description' content='Default Box.'/>

</head>

<Scene> <!-- This NavigationInfo node is added to many scenes, making examination of objects easier. -->

<NavigationInfo type='"EXAMINE" "ANY"'/>

<Shape> <!-- When attribute values are not specified, the default values from the VRML Specification are used.-->

<Appearance>

<Material/>

</Appearance>

<Box/>

</Shape>

</Scene>

</X3D>

2/16

XVL - eXtensible Virtual world description Language

Entickelt von Lattice

Konstruktionsdaten durch komplette Prozesse nutzen

Hohe Kompression

Hohe Genauigkeit

=> “Lattice Structure”

2/16

XVL – Lattice Structure

Freiformoberfläche

Lattice Mesh + Lattice Structure

Gregory Patch

Erweiterung von Bezierkurven

Kontrollpunkte zweigeteilt

Bessere Oberflächenkontinuität

Kontrollnetz

Polygonnetz

Vertexattribute

2/16

Patches

2/16

Kurve: f:u->(x(u), y(u), z(u))

C1-Kontinuität: x1'(u) == x2'(u)

Patch: f(u,v)

Gregory Patch: 5+ Kurven

Coons Patch: 4 Kurven

XVL - Dateistruktur

Erweitertes VRML

Kontrollnetz darstellbar in VRML97-Browsern

Group{

children[

Shape{

geometry IndexedFaceSet{

############################

## coordinate information ##

## of Lattice Mesh ##

############################

}

}

]

},

Switch{

choice[

XVL_STATUS{

status "XVL_GREGORY"

}

XVL_EDGE{

round_val 0.5

round_str 0 1 1

round_end 0.2 0.3 1

is_round [1 1 1]

}

IndexedLineSet{

coordIndex[ 24 103 ]

}

]

whichChoice -1

}

XML???

2/16

XVL - Beispiel

2/16

XVL - Produkte

Komplettes Framework

Kernel

Designer

Browser-Plugins

Signer/DRM

Konverter

2/16

Fazit

Vielzahl möglicher Anwendungsbereiche

Spezielle Datenformate sinnvoll

Datenaustauschformat nötig

X3D

Offen, lebendig

Featurereichtum

Große Dateien

XVL

Große Marktdurchdringung

Hohe Kompression

Kein XML

Proprietär

2/16

2004-12-05T10:39:18