"UMEL and Spazz3D"
>Page 1, 2
URNs (Uniform Resource Names) are a mechanism to create reliable links on the Web. If you create a world which links to a bunch of textures for your objects, it's important that those links don't go away, as so often happens on the Web. URNs are a formal mechanism for resolving file locations using a series of registered agreed upon locations and mirror sites. Each of these sites would have the, in this case, texture.
URNs have been worked on by the World Wide Web Consortium (W3C) for quite a few years and the issue has snagged on a variety of technical problems relating to resolution of the names and registration of mirror sites. Suffice it to say that UMEL implements the most important aspect of URNs and provides a clean reliable fallback mechanism. Spazz3D outputs the correct URN when a Universal Media (UM) texture is applied. For example Spazz3D outputs (relevant VRML fragment):
DEF Box1 Shape { appearance Appearance { texture ImageTexture { url [ "urn:web3d:media:/Textures/Materials/Imagine_ruins.jpg" "Image_ruins.jpg" ] } } }
The default output from Spazz3D is the urn and a link to a local copy of the texture.
A more complex example: from the folks at http://www.officetowers.com/umel/more_info.html Background { frontUrl [ "urn:web3d:media:Textures/Materials/Imagine_wall.jpg", "file:///C:/Windows/Media/UniversalMedia/Textures/Materials/Imagine_wall.j pg", "http://www.web3d.org/WorkingGroups/media/Textures/Materials/Imagine_wall. jpg", "http://www.livinglinks.com/UniversalMedia/Textures/Materials/Imagine_wall .jpg", "http://www.officetowers.com/UniversalMedia/Textures/Materials/Imagine_wal l.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/Textures/Materials/Imagine_w all.jpg" ] }
Note how there are levels of fallback referenced from the url field. If a browser does not understand URNs that's OK they should simply skip it and go down the list until they resolve a file:, http: or local reference that works.
If the browser does understand URNs (UMedia-savvy) than it uses the information found at a predesigned location on the system to locate the media. According to Aaron Walsh:
A browser, however, doesn't have have ANY knowledge of mirror sites or fallback URLs. A UMedia-savvy browser locates media elements locally based on the URN bindings information stored in a standard location on the users computer (found in the Windows registry on that platform, or Macintosh System Folder/Preferences/ for example -- see our URN recommended practice paper for details). This information is dynamically bound at runtime; the browser doesn't have to know anything in advance except where to look for the URN bindings info (since this info can change from system to system it's important that the browser load it dynamically at runtime; it can't assume anything specific about URN resolution without this info).
URNs attempt to solve one of the more vexing problems on the Web, the movement of content which invalidates links. As
we build more interlinked content with built in links the solution to this problem will become necessary. Spazz3D pulls
off another coup by becoming the first on the block to support the community developed UMEL proving they are
becoming a major player in the 3D authoring game.
>Page 1, 2