


































































Official disclaimer: "Material contained herein is made available for the purpose of peer review and discussion and does not necessarily reflect the views of the Department of the Navy or the Department of Defense."
Sours: https://savage.nps.edu/Savage/Tools/Authoring/

Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.13.3 Alarm clock


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.16 Chopper


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.16 Chopper


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.16 Chopper


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.13.2 Click to animate


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.12 Colour interpolator


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.9 Directional light


Specification reference: X3D language bindings, ISO/IEC 19777-1, Part 1: ECMAScript, B.5 Add dynamic routes


Specification reference: X3D language bindings, ISO/IEC 19777-1, Part 1: ECMAScript, B.3 Create nodes


Specification reference: X3D language bindings, ISO/IEC 19777-1, Part 1: ECMAScript, B.6 Create nodes from a prototype


Specification reference: X3D language bindings, ISO/IEC 19777-1, Part 1: ECMAScript, B.4 Per frame notification


Specification reference: X3D language bindings, ISO/IEC 19777-1, Part 1: ECMAScript, B.2 touchSensor isOver event


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.18 Elevator


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.19 Execution model


Specification reference: X3D encodings, ISO/IEC 19775-1.4, Part 1: Architecture and base components, Clause 13 Geometry3D component, Topic 13.3.5 Extrusion, Section 13.3.5.4 Special cases


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Figure 13.5 - Spine-aligned cross-section plane at a spine point.


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.6 Geometric properties


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.17 Guided tour


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.3 Instancing (sharing)


Specification reference: X3D language bindings, ISO/IEC 19777-2, Part 2: Java, D.5 Add dynamic routes


Specification reference: X3D language bindings, ISO/IEC 19777-2, Part 2: Java, D.3 Create nodes


Specification reference: X3D language bindings, ISO/IEC 19777-2, Part 2: Java, D.6 Create nodes from a prototype


Specification reference: X3D language bindings, ISO/IEC 19777-2, Part 2: Java, D.4 Per frame notification


Specification reference: X3D language bindings, ISO/IEC 19777-2, Part 2: Java, D.2 TouchSensor isOver event


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.11 Level of detail


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.10 PointSet


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.4 Prototype example


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.7 Prototypes and alternate representations


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.2 Simple example


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.7 Prototypes and alternate representations


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.15 Robot


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.16 Chopper


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.5 Scripting example


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.14 Shuttles and pendulums


Specification reference: X3D encodings, ISO/IEC 19776-2 v3.3, Part 2: Classic VRML encoding, 5.15 SFString and MFString


Specification reference: X3D Abstract Specification, Part 1: Architecture and base components, Topic 11.4.14 TriangleStripSet


Specification reference: X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, 4.3 XML file syntax
X3D file structure
This article or section is a stub. It does not yet contain enough information to be considered a real article. In other words, it is a short or insufficient piece of information and requires additions.
Draft
1 Introduction
This is a short summary explaining the file structure of a X3D model. In order to understand "the message", you will need some knowledge about XML, in particular XML file structure, wellformedness and validity.
X3D is a modular standard and therefore the X3D file structure is defined through several ISO Specifications.
Combined, these specifications are then available in terms of three types of schemas: DTD, XML Schema (XSD) and Schematron
- x3d-3.2.dtd. Can ensure proper parent-child element relations and attribute naming
- x3d-3.2.xsd. In addition, can ensure proper type-checking of most attribute values.
- X3D Schematron. For additional validation that can't be handled by XSD.
2 The X3D file structure
A X3D scene is defined by the contents of a URL (i.e. either an X3D file or some generator). This resource then can include additional elements with an Inline node.
X3D scene files have a common file structure:
- File header (either XML, ClassicVRML, or Compressed Binary)
- Start of the X3D root node including version and profile attributes
- A head section with Component and Meta statements (both optional)
- The X3D Scene graph and its child nodes
- End of the X3D root node
We shall shortly describe these elements below. But before, let's have a look at the code of a simple exemple scene, HelloWorld.x3d, retrieved on oct. 2010 from Chapter 01 - Technical Overview at x3dgraphics.com/
Inserted XML comments identify the elements:
In case you don't have a X3D client for looking at this scene, it should render like this:

Hello World scene screen capture
More complex X3D scenes are usually split over several files. To include a scene one usually positions and scales the included object, e.g. like in the example fragment below taken from the Kelp Forest exhibit that can be found at x3dgraphics.com. Click on Kelp Forest Main to look at the scene, then play around with the viewpoints.
The following code can be found in the main file (KelpForestMain.x3d) and will load "Lucy the shark" from the first local or remote URL that the client can retrieve. As you can see, one also can load *.wrl files into *.X3D.
2.1 X3D file header and filename extensions
Since X3D has grown out of VRML it has both an XML and a VRML syntax. In addition, both formats can be delivered in compressed format.
The Header for X3D / XML needs an XML declartion and an optional DTD. The XML Schema (XSD) is declared in the root node which must include a version and a profile attribute.
As of october, there exist several final X3D versions:
- version 3.0
- version 3.1
- version 3.2 (Version 3.2.2 was published in April 2005 and should be supported by most browsers)
To us, it is totally unclear where versions are defined and where one can find central information about support profiles and versions by various clients and other tools - Daniel K. Schneider 15:35, 5 October 2010 (CEST).
See below for more information about profiles and components
The following file extensions should be used for X3D contents:
X3D Encoding | File Extension | MIME Type |
---|---|---|
Classic VRML | .x3dv | model/x3d+vrml |
XML | .x3d | model/x3d+xml |
Binary | .x3db | model/x3d+binary |
E.g. if you have an Apache server you could add the following lines to a *.conf file:
AddType model/x3d+xml .x3d AddType model/x3d+vrml .x3dv AddType model/x3d+binary .x3db AddEncoding gzip .x3dvz AddEncoding gzip .x3dbz2.2 Profiles, components
X3D has a modular architecture that defines 4 to 6 baseline profiles (depending on the version) which are are predefined collections of components. Profiles are defined with XML attributes in the X3D root node or as VRML statements on top.
In addition, within the head section, authors can specify more precisely what components are needed. Components are predefined collections of nodes and match chapters in the specification. Each profile can be augmented by adding other components
Both the mandatory profile definition and the optional components statements tells the X3D browser what level of support is needed for run-time operation.
The 3.2 specification includes six profiles:
- Core is just the core (probably not useful for authors)
- Interchange is the basic profile for communicating between applications. It supports geometry, texturing, basic lighting, and animation
- CADInterchange adds support for CADGeometry component nodes to Interchange Profile.
- Interactive enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlanseSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
- Immersive enables full 3D graphics and interaction, including audio support, collision, fog, and scripting. Corresponds to the power of VRML 97 plus minor additions.
- MPEG4Interactive
- Full includes all defined nodes including NURBS, H-Anim (animated interactive Avatars) and GeoSpatial components.

X3D Baseline Profiles: Source: What is X3D?, retrieved 11:53, 26 August 2010 (UTC)
Examples of X3D profile declarations
Examples of X3D ClassicVRML profile declarations
PROFILE ImmersiveAdditional components with respect to the ones includes in the declared profile can be included in the had section as in the following Header Profile Component Meta Example (retrieved 15:35, 5 October 2010 (CEST)). The component tags raise the support level from Immersive profile to include other components included in the X3D 3.0 Full profile.
2.3 Meta statements
Meta statements provide information about the X3D scene as a whole.
Information is provided as name-content pairs, for example
<meta content='30 October 2000' name='created'/> <meta content='Don Brutzman' name='creator'/> <meta content='done' name='status'/>One can use any value in the name and content field, but there are some informal recommendations. This approach is thus very general and a wide variety of metadata can be represented. The X3D approach matches same approach used by HTML for regular hypertext web pages.
2.4 The X3D scene graph
Each X3D file only can include one X3D scene according to XML principles. In other words there must be a single root element.
At the content level, the same principle as for HTML applies. There can be only a single scene in the same way that in HTML there is only one body
A very minimalistic valid X3D file would look like this
X3D (and other) scene graphs follow a model-centric approach to 3D that hierarchically defines geometry shape, appearance, position and orientation, etc. In other words, all parameters of interest (except some scripted behaviors) are defined declaratively.
In X3D, a graph has a root node and no loops, i.e. a directed acyclic graph (DAG). Most Computer Aided Design (CAD) models follow a similar approach.
In opposition, most narrative programming languages use an approach like "draw this triangle, that triangle, recompute", etc.
Read more on X3D shape and geometry
3 X3D ClassicVRML syntax
In our tutorials we shall not explain VRML syntax. See the VRML Primer and Tutorial we made over 10 years ago. We just point out that X3D/ClassicVRML is different from VRML1997, i.e. the ClassicVRML profile looks like VRML and uses the same syntax, but there are some changes between the last VRML standard (ISO/IEC 14772-1) and the new X3D-based ISO/IEC 19776-2. In particular, the scripting interface has been totally overhauled.
It is also important to understand the most X3D clients can render VRML 1997 (and the other way round if the VRML client is recent).
4 Links
- Specification and Schema documentation
- X3D Examples
5 Credits and Copyright modificiation
Examples x3d
Example Scenes
Every example from X3D: Extensible 3D Graphics for Web Authors is available for inspection, interaction, and download. The examples are grouped by the chapter where they appear. Additional examples are also included.
You can either browse all of the examples, download the examples archive, or browse individual chapters using the links below.
- Examples Table of Contents
- Chapter 1: Technical Overview (online chapter)
- Chapter 2: Geometry Nodes, Part 1: Primitives
- Chapter 3: Grouping Nodes
- Chapter 4: Viewing and Navigation
- Chapter 5: Appearance, Material, and Textures
- Chapter 6: Geometry Nodes, Part 2: Points, Lines, and Polygons
- Chapter 7: Event Animation and Interpolation
- Chapter 8: User Interactivity Nodes
- Chapter 9: Event Utilities and Scripting
- Chapter 10: Geometry Nodes, Part 3: Geometry2D Nodes
- Chapter 11: Lighting and Environment Nodes
- Chapter 12: Environmental Sensor and Sound Nodes
- Chapter 13: Geometry Nodes, Part 4: Triangles and Quadrilaterals
- Chapter 14: Creating Prototype Nodes
- Chapter 15: Metadata
- Kelp Forest Exhibit
Portions of this work are from the book,
X3D: 3D Graphics for Web Authors, by Don Brutzman and Leonard Daly, published by Morgan Kaufmann Publishers, Copyright 2007 Elsevier, Inc. All rights reserved.
Web site copyright © 2008-2017, Daly Realism and Don Brutzman
What is a X3D file?
X3D is an XML based 3D graphics file format for presentation of 3D information. It is a modular standard and is defined through several ISO specifications. The format supports vector and raster graphics, transparency, lighting effects, and animation settings including rotations, fades, and swings. It became successor of VRML file format in 2001. X3D has the advantage of encoding colour information (unlike STL) that is used during printing the model on a colour 3D printer. The format features extensions to VRML, providing the capability to encode the scene using an XML syntax as well as the Open Inventor-like syntax of VRML97 or binary formatting.
The abstract specification for X3D (ISO/IEC 19775) was first approved by the ISO in 2004. The XML and ClassicVRML encodings for X3D (ISO/IEC 19776) were first approved in 2005.
X3D File Format
X3D scene files have a common file structure:
- File header (either XML, ClassicVRML, or Compressed Binary)
- Start of the X3D root node including version and profile attributes
- A head section with Component and Meta statements (both optional)
- The X3D Scene graph and its child nodes
- End of the X3D root node
Example
References
See Also
Sours: https://docs.fileformat.com/3d/x3d/You will also be interested:
- Epa p2
- Panel pc advantech
- Bubble umbrella compact
- Halloween counting books
- Task list rbt
- Taiwan semiconductor customers
- Dr kilgore dentist
- Bitbucket for windows
- Gallipolis car dealerships
- Desk phone amazon
This archive provides a wide variety of basic open-source examples that show how to design and build X3D models. Many of these scenes have been used for confirmation, development and testing of essential node capabilities in X3D.


![]() |
Chemical Markup Language (CML) provides support for most chemistry including molecules, compounds, reactions, spectra, crystals and computational chemistry.
These examples show how to visualize Chemical Markup Language (CML) molecular definitions using previously designed X3D model prototypes by using an XSLT stylesheet transformations. This process is described in the paper "Stylesheet Transformations for Interactive Visualization: Towards a Web3D Chemistry Curricula," originally published in Proceedings of Web3D 2003 Symposium, St. Malo France, 9-12 March 2003, ACM Press.

![]() | These scenes have been used in X3D course materials. These are simple example scenes that are useful for teaching and course work. Some have been developed by students learning X3D. A much larger set of scenes and slidesets have been developed as the X3D for Web Authors Examples Archive. |

![]() | These scene examples support specification development, player implementations, and demonstration of exemplar X3D capabilities. These scenes help to demonstrate trial technology and develop new nodes for the X3D Specifications. They support the efforts of the X3D Working Group. |

A supporting DIS chapter slideset is available online via X3dGraphics.com. Related work includes X3D-Edit DIS Support as well as the Open-DIS software library, which provides open-source implementations of DIS in C++, C#, Java, Objective-C and JavaScript.
Warning: the Distributed Interactive Simulation (DIS) component in not widely supported. Further work is welcome.

![]() | Experimental Binary Compression algorithm models demonstrate the potential of geometric compression techniques. These developmental examples illustrate how geometric compression based on text-based ASCII encodings might be integrated into X3D scenes via Prototype nodes that encapsulate Script processing. The file-size reduction technique Coding Polygon Meshes as Compressable ASCII by Martin Isenburg and Jack Snoeyink is documented in award-winning papers presented at the Web3D 2002 and 2003 Symposia. A Shout3D implementation demonstration is also available. Further work on the X3D Compressed Binary Encoding (CBE) can be found at X3D Binary Compression Capabilities and Plans wiki page. |

VRML97 External Authoring Interface (EAI) was used to pass events from HTML scripts into VRML97 scene scripts.
These scripting examples illustrate how to use the original External Authoring Interface (EAI) in the VRML97 specification. It allows scripts placed in an external HTML page to communicate with a VRML97 scene, using either Java or ECMAScript .
These HTML scripting techniques were later unified with Script syntax inside the scene as the X3D Scene Authoring Interface (SAI).

![]() | The X3D Followers component supports specialized linear interpolation for various data types to achieve smooth behavior animation. These examples illustrate how to use Chaser and Damper nodes, which are defined in the Followers component of the X3D specification. Transitions are computed at run time to produce events that smoothly change from an initial value to a goal value. |


![]() | LatticeXvl was an experimental parametric geometry approach that was not adopted into the X3D standard. These nodes nevertheless demonstrate extensibility techniques for integrating new capabilities using X3D DOCTYPE (DTD). The Xvl nodes are merely experimental: not approved by the X3D Abstract Specification, not in the X3D XML Schema, and not in the X3D Unified Object Model (X3DUOM). The LatticeXvl examples do show how Lattice technology from the XVL3D company was integratable as a commercial extension within X3D. This technique is repeatable. The extension approach to XML DTD validation has been maintained through each version of X3D, and is documented further in the actual X3D DTDs and Schemas. |


![]() | This directory includes several experiments with X3D Networking. Long-running efforts have attempted to define and build a new NetworkSensor node for X3D. Although useful design progress was made by the X3D working group, this work did not reach closure because author-written implementations did not appear to be possible using X3D prototypes encapsulating sandbox-restricted JavaScript network access from within an HTML browser. Further implementation and evaluation work might someday be pursued using an X3D browser implementation. Examples of additional networking techniques for X3D can also be added to this archive. Of related interest: the Distributed Interactive Simulation (DIS) examples in this archive, which include native X3D support for the IEEE Distributed Interactive Simulation (DIS) networking-protocol standard. |

![]() | Non-Uniform Rational B-Spline (NURBS) provide a parametric mathematical model for generating and representing smooth curves and surfaces. Non-Uniform Rational B-Spline (NURBS) provide a convenient and efficient manner to generate curved lines and surfaces which can be smooth at any viewing distance. Since these surfaces are generated parametrically, only a small amount of data need be provided for describing complex surfaces. These examples support the X3D NURBS component. |
These capabilities hold significant potential value for use by the Computer Aided Design (CAD) and Medical working groups. |

This directory includes experiments with extensions for X3D Points. |

![]() | Rigid Body Physics modeling deals with objects as solid, unchangeable sets of mass having a velocity that can be connected together via various joint types that allow one body's motion to affect another. These examples support the X3D Rigid Body Physics component for simple kinematics, first implemented by Xj3D. Warning: the Rigid Body Physics component in not widely supported and these examples are insufficiently tested. Further work is welcome. Of related interest: Distributed Interactive Simulation (DIS) examples. |



Shaders are special programs that interact directly with graphics hardware for special effects using light, darkness, and color within a model's appearance.
A programmable shader allows authors to directly specify how an object is rendered by providing a method of programmatically modifying sections of the rendering pipeline. This allows replacement of the traditional fixed-function graphics API pipeline to support visual effects that typically cannot be implemented using other node components in this standard.
These example scenes illustrate the X3D Programmable Shaders Component. Unfortunately, unlike X3D, shader languages are typically hardware-specific and not interoperable across different platforms. Mutually compatible X3D interfaces and syntax are defined for the OpenGL shading language (GLSL) binding, Microsoft high level shading language (HLSL) binding and the nVidia Cg shading language binding.

![]() | Student Projects are interesting and fun! These are interesting scenes authored by X3D students who have taken the X3D for Web Authors Further contributions are welcome. Be sure to follow the X3D Scene Authoring Hints for reasonably consistent descriptions, metadata, layout and naming conventions within each model scene. |

![]() |
Unit statements can redefine the base units of length/angle/force/mass values in an X3D scene from meters/radians/newtons/kilograms to other units of interest.
These examples demonstrate use of the X3D Units statements proposed for X3D version 3.3. Unit statements define conversion factors from default units in order to simplify the creation of content using minimal data translation. The original proposal provides further detail.

![]() |
Universal Media Materials provide numerous complex Material values to simply scene authoring and improve geometry appearance.
These Universal Media examples provide a large suite of color-coordinated X3D/VRML Materials for easy usage by authors. Visual scenes are provided for browsing and selection from each collection. Entries can be copied directly or used via (internal or external) prototype declarations.
This library of materials is originally converted from SGI's Open Inventor material examples. Material library selections are also built into the X3D-Edit authoring tool. Example use is further explained in the X3D for Web Authors slideset Chapter 5 - Appearance Material Textures.

![]() |
Universal Media Panoramas are texture-mapped high-resolution Background nodes.
These Universal Media examples provide a large suite of X3D/VRML Background nodes with customized images for easy author use. Visual scenes are provided for browsing and selection from each collection. Background nodes can be copied directly with multiple url site addresses included for each image texture in order to improve reliability.
Example use is further explained in the X3D for Web Authors slideset Chapter 11 - Lighting and Environment.


The VRML97 Specification was the second-generation predecessor specification that eventually led to the X3D Graphics International Standard, maintaining full compatibility with the X3D ClassicVRML Encoding.
Many 3D graphics systems support the Virtual Reality Modeling Language (VRML97). These scenes support the Examples section of the VRML97 specification.
The baseline source kept under version control is in form, and the autogenerated products include versions using the VRML97 file extension. These examples are maintained for historic reasons and interoperability testing. Backwards compatibility of scenes remains a significant strength of the X3D specification, which includes a fully interoperable ClassicVRML file encoding as well as numerous conversion and translation tools.
Historic predecessor document references include the VRML Script Node Authoring Interface proposal of 6 October 1996, and the Virtual Reality Modeling Language (VRML) 1.0 Specification of 26 May 1995.

![]() | This directory collects models and scenes for outreach by the Web3D Consortium, the Standards Development Organization (SDO) that supports real-time graphics communication on the Web. The Web3D Consortium is a nonprofit organization that develops and maintains the X3D, VRML, and H-Anim standards. These are 3D file formats and runtime specifications for the delivery and integration of interactive 3D data over networks. |
Extensible 3D (X3D) Graphics (X3D) is the open, royalty-free, ISO-standard data language and run-time architecture for 3D graphics. It provides for real-time, interactive, animatable 3D objects displayed in a browser or other network connected or stand-alone display. The simple examples in this directory support the creation of outreach and marketing models for the Web3D Consortium and X3D Graphics. | ![]() |
