[X3D-Public] Fwd: Re: [X3D] X3D HTML5 meeting discussions:Declarative 3D interest group at W3C

Chris Marrin chris at marrin.com
Sun Jan 2 17:19:52 PST 2011


On Jan 2, 2011, at 3:19 AM, Philipp Slusallek <slusallek at cs.uni-saarland.de> wrote:

> 
> Shaders, lighting and such as separately described and attached to
> geometry via CSS, and so on.

It does seem conceptually compelling to put shaders into CSS, but I don't see that happening anytime soon. It's too domain specific. But parameters to the shaders (uniforms and attribs) certainly belong there. 

> 
> I do believe in declarative interpolators for data intensive processing
> (a la XFlow, see other email) as there is much more than just rigid body
> animations that we need. Particularly if we are interested in getting to
> live-like virtual characters on the Web. We need careful ways to modify
> (interpolate, skin, displacement map, light map, whatever) the data
> sets. While this could be done in JS (and the nice interface to typed
> arrays allows this to be done in XML3D). However, I believe that a
> declarative way to specify these operations (similar to a shader network
> in many animation tools) is a better and more intuitive way to specify
> these operations (and can be implemented way more efficiently and
> portably that way). 

CSS does have interpolators in CSS Animations. It includes customizable easing functions. Probably the only practical CSS properties to interpolate are transform and color, but that gets you a lot of the interpolators in X3D. So the question becomes what do you do about the rest?

    a) Don't support them and use JS when need be?
    b) Add new properties to CSS to support them?
    c) Represent them as elements?

There are different answers for different types and usage patterns. That's what I mean by separating the issues. It's not "how do we support inrpolators?", but rather "how do we support these useful usage patterns, while still staying within the web model?". 

 As much as you might like to warp the current web HTML/DOM model to match what you perceive as the "right" way to do 3D, I don't see that happening any time soon. I tried swimming up that stream for many years with little success but with a lot of experience about what NOT to do. When my fellow team members and I here at Apple added CSS Transforms, Transitions and Animations, we were able to get 3D into the browser, not as a scene graph of 3D models but as "planes in space". No monkeys or globes, but 3D that could be applied to many web design scenarios. 

That was step 1. Step 2 was making it possible to represent 3D models in the simplest way possible - WebGL. Declarative 3D is step 3. This is all my personal model of world domination, of course. But I believe that the step to declarative 3D has to be another baby step or it will fail. 




More information about the X3D-Public mailing list