1 Specification

1.1 General Layout

  <?xml version="1.0" encoding="iso-8859-1"?>
  <i3D name="MyScene" version="1.2" xsi:noNamespaceSchemaLocation="http://i3d.giants.ch/schema/i3d-1.2.xsd">
    <Textures>..</Textures>
    <Shaders>..</Shaders>
    <Shapes>..</Shapes>
    <Scene>..</Scene>
    <Animation>..</Animation>
  </i3D>

1.2 Animation


Motions are defined in this part. Clips are the basic building block and allow Non-Linear Animation by composing.

  <Animation>
    <CharacterSets>
      <CharacterSet name="walk_crouched">
        <Clip name="walk_crouched1Source" duration="1000">
          <Keyframes node="Hips">
            <Keyframe time="0" translation="-0.467 13.504 39.842"/>
            <Keyframe time="333" translation="-0.559 12.915 39.370"/>
            <Keyframe time="1000" translation="-2.610 11.917 35.462"/>
          </Keyframes>
          <Keyframes node="Chest">
            <Keyframe time="0" rotation="-1.013 -4.465 0.890"/>
            <Keyframe time="666" rotation="10.009 -6.667 4.381"/>
            <Keyframe time="1000" rotation="11.638 -3.906 4.115"/>
          </Keyframes>
        </Clip>
      </CharacterSet>
    </CharacterSets>
  </Animation>

1.3 Scenegraph


Scene graph hierarchy, transformations, lights and cameras are stored in this section.

  <Scene>
    <TransformGroup name="myGroup1" translation="1.25 0 -9">
      <Shape name="mySphereObject"/>
      <TransformGroup name="myGroup2" rotation="90 0 270">
        <Shape name="myPolyObject"/>
      </TransformGroup>
      ...
    </TransformGroup>
    ...
  </Scene>

1.2.1 Scene graph node types


1.4 Shapes


Shapes are defined here and referenced from the Scene graph section.
This reference mechanism allows multiple instancing of shapes.
  <Shapes>
    <Sphere name="mySphereObject" shader="myShader_001" radius="10" center="1 0 0"/>
    ...
    <IndexedFaceSet name="myMesh01">
      ...
    </IndexedFaceSet>
    ...
  </Shapes>

1.4.1 Shape node types


1.5 Shaders


All Shaders that are used in the Shape section are defined in this section.

  <Shaders>
    <Shader name="myShader_001" type="Blinn">
      <Texture name="myTexture1"/>
      <Ambient value="0.5 0.1 0.3"/>
    </Shader>
    ...
  </Shaders>

1.6 Textures


All Textures that are used in the Shader section are defined in this section. Texture names are mapped to the corresponding image files.

  <Textures>
    <Texture name="myTexture1" filename="myTexture1.png"/>
    ...
  </Textures>

1.7 Downloads


1.8 Related links