[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] A Declarative node set for WebGL?



On Fri, Feb 26, 2010 at 12:46 PM, Kenneth Russell <kbr@google.com> wrote:
> On Thu, Feb 25, 2010 at 9:39 PM, Thatcher Ulrich <tu@tulrich.com> wrote:
>> </lurk>
>>
>> My 2 cents:
>>
>> A 3d scene graph layered on top of WebGL (and/or other rendering
>> backends) in the form of a library: sure, the more the merrier --
>> WebGL should try to be functional enough to make this work well.
>>
>> A 3d scene graph standardized into HTML: premature.  Despite many
>> attempts over the decades, there does not exist a one-size-fits-all
>> scene graph that is small enough to be a good standard.  Maybe someday
>> there will be, but HTML standardization is not the venue to discover
>> it.
>>
>> One thing I *would* like to see is a good way to reflect an HTML DOM
>> subtree into a WebGL texture.  I think this would enable practically
>> all of the worthwhile use cases of DOM in 3D.  If a dominant scene
>> graph library emerges out of that, then think about standardizing it.
>
> This would certainly be useful. How would input events work? Is there
> a way to synthesize a mouse press at a given (x, y) coordinate in the
> DOM tree?

Good question -- this would be necessary indeed.  I'm not sure if it's
doable today, though you could walk the DOM and search for the deepest
intersecting node, and dispatch the event there.  Dunno how well that
works.

-T

>
> -Ken
>
>> -T
>>
>> <lurk>
>>
>> On Thu, Feb 25, 2010 at 9:58 PM, Len Bullard <cbullard@hiwaay.net> wrote:
>>> I didn't imply it was a simpler WebGL.  I said it is an alternative
>>> declarative format for WebGL which as I understand it is not a declarative
>>> model.  Else, why this discussion?  I look forward to reading the schema.
>>>
>>> Spinning boxes don't interest me.  People who say scene graphs are only good
>>> for spinning boxes never used one.   But scene graphs are just one model.
>>>
>>> Is WebGL a good thing?  It's another thing.  For many projects the current
>>> plug-ins are more than adequate.  Since there is X3D work in progress to
>>> work with WebGL, alternatives to that should be understood for their
>>> advantages.
>>>
>>> A declarative format does have the advantage of being easily manipulated by
>>> other standard toolkits.  That's good.  On the other hand, if as with HTML5,
>>> it is yet another parse model as well, that's bad.
>>>
>>> len
>>>
>>> -----Original Message-----
>>> From: owner-public_webgl@khronos.org [mailto:owner-public_webgl@khronos.org]
>>> On Behalf Of Chris Marrin
>>> Sent: Thursday, February 25, 2010 8:11 PM
>>> To: public webgl
>>> Subject: Re: [Public WebGL] A Declarative node set for WebGL?
>>>
>>>
>>> On Feb 25, 2010, at 3:31 PM, Len Bullard wrote:
>>>
>>>> Don't we already have multiple declarative formats that can be built over
>>> WebGL?   What is the advantage of baking yet another one into WebGL itself?
>>> Because it maps more directly to the native WebGL data structures?  Or
>>> because it has the WebGL object model baked into the declarative nodes?
>>>
>>> I don't really see it as a "simplified WebGL". But it would perhaps be a bit
>>> simpler to get up a simple spinning box with the declarative form than with
>>> WebGL and JavaScript. The big advantage is that you tie into the DOM and all
>>> its features much more tightly. The browser knows when the DOM tree has been
>>> mutated, either structurally or by changing attributes or CSS properties.
>>> That information can be used to rerender the 3D scene, but you can't get at
>>> it from WebGL today. A declarative form would also compute transforms from
>>> the root to the leaf nodes natively and can do so efficiently by caching
>>> intermediate results and knowing where transforms are animating.
>>>
>>> I don't see this as "yet another 3D scene graph format" I see it as a
>>> declarative form of WebGL. If you accept the premise that WebGL is "a good
>>> thing" then I think its easier to see this as the logical companion.
>>>
>>>>
>>>> In VRML 2.0, the debate over object/markup impedance mismatching was long.
>>> However, it made the point that interoperability via data transfer (bits on
>>> the wire, as Bray says) is very limited particularly where rendering and
>>> behavioral fidelity have to be very strong across platforms.
>>>>
>>>> If I understand you, the main advantage of your proposal is the DOM
>>> scripting is simplified for those authors who want to instance and navigate
>>> directly in the WebGL objects.  Is that right?
>>>
>>> Again, I don't think it's as much simplification as it is more tightly tying
>>> into the native DOM and rendering facilities of the browser.
>>>
>>> I see this node set as taking the "Make everything as simple as possible,
>>> but not simpler" approach to a 3D declarative form.
>>>
>>> -----
>>> ~Chris
>>> cmarrin@apple.com
>>>
>>>
>>>
>>>
>>>
>>> -----------------------------------------------------------
>>> You are currently subscribe to public_webgl@khronos.org.
>>> To unsubscribe, send an email to majordomo@khronos.org with
>>> the following command in the body of your email:
>>>
>>>
>>>
>>> -----------------------------------------------------------
>>> You are currently subscribe to public_webgl@khronos.org.
>>> To unsubscribe, send an email to majordomo@khronos.org with
>>> the following command in the body of your email:
>>>
>>>
>>
>> -----------------------------------------------------------
>> You are currently subscribe to public_webgl@khronos.org.
>> To unsubscribe, send an email to majordomo@khronos.org with
>> the following command in the body of your email:
>>
>>
>
> -----------------------------------------------------------
> You are currently subscribe to public_webgl@khronos.org.
> To unsubscribe, send an email to majordomo@khronos.org with
> the following command in the body of your email:
>
>

-----------------------------------------------------------
You are currently subscribe to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email: