It’s just data

Web3D

Instructions:

Come back here, and rotate the image below using your mouse.

View source.  Note the use of a namespace and mixed case element and attribute names.  We will be discussing this tomorrow.


Something else to note about the namespace is that it’s quite non-standard — the X3D spec does not use namespaces at all. The string used here was made up by Xj3D (which incidentally happens to have pretty bogus namespace parsing code, when I last looked at it), and then copied by this X3D script because I had to use something to make it work sanely in XHTML. (I wrote the initial rough prototype of this X3D thing a couple of years ago, and just used XHTML because I didn’t want to have to fight with HTML parsers). I guess it’ll end up being a de facto standard, which is alright as long as the people who own the namespace URL’s domain don’t mind.

Posted by Philip Taylor at

Social comments and analytics for this post

This post was mentioned on Twitter by claus: Firefox 3.7 beta supports the 3D profile for canvas [link]
(when tweaked)... [more]

Trackback from uberVU - social comments

at

Works in latest Webkit nightly on OS X too.  Very cool.

Posted by Michael Payne at

dalmaer: The power of rotation is yours! A WebGL turn on http://intertwingly.net/blog/2009/11/05/Web3D

dalmaer: The power of rotation is yours! A WebGL turn on [link]...

Excerpt from Twitter / dalmaer at

WebGL around the net, 5 Nov 2009

Some more X3DOM — a nice example that allows you to rotate a 3D shape using the mouse. What’s particularly impressive to me is how little code is required to create the page; just view source to see! A couple of interesting discussions on the...

Excerpt from Learning WebGL at

Wow, old Vermil is back from the dead!

Someone asked the Web3D consortium for a normative namespace URI in 2005: [link]
No answer, just a link to a wiki page that uses [link] .
I don’t like the version number, but at least it resolves to something.

Posted by anonymous at

I saw that suggestion when originally looking at X3D, but putting versions in the namespace URL seemed like an awful idea — people will want to merge documents from different versions (e.g. import an old external model file into your new scene), and if they have different namespaces then APIs like getElementsByTagNameNS will become unusable, and backward compatibility with UAs will be destroyed because old UAs won’t recognise the new namespaces even if they could gracefully handle the new content. Those issues seem much more important than resolvability.

Posted by Philip Taylor at

HTML5: If markup extensions are needed, they should be done using XML, with elements or attributes from custom namespaces.

HTML5 Validator: Element X3D from namespace http://www.web3d.org/specifications/x3d-namespace not allowed as child of XHTML element article in this context.

Posted by Sam Ruby at

Doesn’t work on the windows nightly :(

Posted by Dave at

It’s working with my 3.7 Windows nightly Dave.  Mine’s a portable version, but it shouldn’t be any different.  I see nothing at all using the 3.6b2pre nightly.  The resize of the source window drives my computer bonkers however.  I have to alt-tab to a non-Firefox window and then click to be able to do anything at all.  That’s still pretty small code to be doing that.

Posted by Bryan Price at

Regarding the X3D version number being part of the URI reference, our rationale has been that this is necessary because each version of X3D (3.0, 3.1, 3.2) has defined a different vocabulary that is mostly a superset of the previous one.  Further, using eponymous labels for the URI and schema itself makes it easier for authors or tools to perform validation correctly.  The schemas themselves are available at [link]

Certainly other design rationales are possible, am happy to discuss further if you like.

Posted by Don Brutzman at

p.s. the X3D version attribute is recorded separately, and each schema has been backwards compatible.  In other words, the 3.2 schema supports version=3.2 3.1 or 3.0, while the 3.1 schema supports version=3.1 or 3.0.  So in practice we haven’t encountered any difficulties with this approach.  Further feedback remains welcome.

Posted by Don Brutzman at

Add your comment