[whatwg] Web Applications and 3D

Ian Hickson ian at hixie.ch
Fri Apr 29 06:43:37 PDT 2005

On Fri, 29 Apr 2005, Matthew Raymond wrote:
> > 
> > Right, but my question is what's the use case for having objects for 
> > your 3D world exist in the DOM?
> Well, in situations with Javascript off, the benefits are obvious. 

I don't mean to be obtuse, but: they aren't to me. I guess I could imagine 
wanting declarative 3D for when you want to show someone around your 
office or something like that, but I can't say I've seen much demand for 
that, and even less integrated with HTML.

In any case, that would be something to be addressed by another 
specification, like X3D. HTML (specifically XHTML) already supports 
integrating with other namespaces.

> There's also the potential to use XBL to apply special behavior to 
> specific tags. For instance, instead of having a static Sun in the sky, 
> you could have it rise and set by using XBL to pull in code that moves 
> the model and lighting around.

What sky? :-) I haven't seen many applications with skies...

> I'm not saying there's a problem with X3D. I'm just trying to make sure 
> there is a clear idea of how to make XHTML + X3D compound documents. In 
> other words, I'm trying to find the weak link, if there is one, and at 
> the moment that seems to be a lack of examples on the Internet.

The biggest problem with integrating X3D and XHTML is, as far as I can 
tell, the lack of a namespace to identify X3D content. (This is similar to 
the problem preventing Docbook integration.)

> My thinking is that a "3d" context for <canvas> may require Javascript 
> as complex as a 3D rendering engine built on top of OpenGL. By contrast, 
> something like X3D would require only DOM manipulation, because the 
> rendering engine would be either a plug-in or part of the UA. X3D could 
> also use XBL to achieve special effects that a programmer would 
> otherwise have to code into their <canvas>-based engine. Imagine LOD, 
> particle effects, fog, et cetera, turned on and off by simply selecting 
> an alternate stylesheet. (Well, I suppose you could do that stylesheet 
> thing with <canvas> and XBL, but it wouldn't be pretty.)

I doubt it would be that simple, but sure.

If you want declarative 3D integrated into the Web browser pipeline, 
alongside the DOM, JS, XHTML, SVG, CSS, XBL, etc, I encourage you to bring 
this up with the Web3D consortium.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list