W3C home > Mailing lists > Public > public-svg-ig@w3.org > July to September 2008

RE: [SVG-IG] Re: HTML 5 Canvas spec (3D and SVG)

From: Dailey, David P. <david.dailey@sru.edu>
Date: Wed, 10 Sep 2008 16:37:23 -0400
Message-ID: <1835D662B263BC4E864A7CFAB2FEEB3D015255C9@msfexch01.srunet.sruad.edu>
To: "Donald Doherty" <donald.doherty@brainstage.com>, "Porter, David A" <david.a.porter@boeing.com>
Cc: <public-svg-ig@w3.org>

Dave and Donald,
Actually from within the SVG WG, (I suspect Doug may talk about this some tomorrow at the "telecon" -- is that still a word or has it gone the way of the dinosaurs?) there has been some talk about 2.5 dimensions.
see for example http://svgopen.org/2008/papers/86-Achieving_3D_Effects_with_SVG/ . 
I gather that perspective transformations (allowing a class of non-affine transforms) are on the plate for the SVGWG's future consideration. (see also my talk at SVG Open in which I talk about simulation of non-affine transforms)
Closely allied (in some ways) with non-affine transforms are gradients which are neither linear nor radial (since the derivative of a gradient as applied through feDisplacement provides a non-affine transform) (again I talked about this some at the conference http://srufaculty.sru.edu/david.dailey/svg/SVGOpen2008/edges_of_plausibility.htm ) and since extensions of the class of gradients can provide results equivalent to ray-tracing of actual 3-D objects (using JavaScript plus magic* to mediate between the two views), and potentially with a lot less computation, given proper magic.
A variety of other gentle forays into 2+ dimensions may be seen in the recos for extensions to SVG in the form of the <contour> element, the <map> element and other speculation at http://srufaculty.sru.edu/david.dailey/svg/spec.html (the topic of a previous but painfully lengthy email of mine a week ago).
And then, today in svg-developers, there was a thread about zoomability of text and scaling. Another opportunity to provide gentle extensions to SVG that would give us slightly more than 2 Dimensions (by for example applying a "scale" attribute, which would allow the animation of the viewbox to provide differential scaling effects on "layers" of animation in "scoobydoo space"  as in the mountains at  http://srufaculty.sru.edu/david.dailey/svg/balloon.svg ). I don't know how to reference svg-developers threads in yahoo (nor do I know how to search for things there) but in discussions about 

"RE: [svg-developers] Re: Non-scalable text labels in scalable graphics?"

some of the reasoning can be followed.
By providing "proper" vectorizations of bitmaps, I think there is one more opportunity to provide forays into 3-space. While conventional vectorization of bitmaps may easily mis-characterize the boundaries between meaningful objects, computer-human interactions in the "reading" of bitmaps may produce contour maps (or engraving/gradient maps **) that provide usable cues to three-dimensionality-- like object recognition.
And to follow yet one more thread of reasoning here, if everyone isn't yet worn out, just as hypertext is slightly higher than one dimensional -- owing to graph theoretic connections across linear text -- so would "relational SVG" (as discussed in the <map><superpath/></map> construct )-- be higher than two-dimensional by providing extra planar content connections between objects (like components) within a diagram. So much easier to make machines, for example, by using graph-theoretic and spatial/relations between components (usually drawn "close" to the components they interact with).
The nice thing about all these "gentle" forays into 2+ dimensions is than none would require dramatic rethinking of the basic premises or charter of SVG and all could be accomodated in some future version that could actually be undertaken by (in my mind anyhow) the SVGWG once it gets its current activity moved to candidate recommendation status. The IG is, by charter, "will not produce Rec-track work", but we certainly can respond to the spec as it is, and presumably that includes responding to directions in which it should perhaps grow.
I don't know the history here, but apparently some previous ventures into standards for 3D (like http://en.wikipedia.org/wiki/X3D ) have been met with less than complete enthusiasm by a highly diverse community (from CAD to Pixar) community often striated with an excess of momentum and inertia.
Holler if any of my rambling is thoroughly incomprehensible,
(who is delighted to hear voices other than my own piping up!)
* by magic, I mean that not all illustrations of 3D have to be, strictly, speaking, accurate. Given that we draw, ultimately, on 2D screens, 3D is intrinsically an illusion in that 2D space, and the degree to which that illusion is convincing is sometimes, paradoxically, greater when less realism is applied.
** I blame this on Albrecht Durer.


From: Donald Doherty [mailto:donald.doherty@brainstage.com]
Sent: Wed 9/10/2008 3:40 PM
To: Porter, David A
Cc: Dailey, David P.; public-svg-ig@w3.org
Subject: [SVG-IG] Re: HTML 5 Canvas spec (3D and SVG)

The HTML 5 Canvas spec addressed an HTML shortcoming: no high quality 2D graphics. 

Others have now extended HTML 5 Canvas to address another HTML shortcoming: no high quality 3D graphics (although I don't know that this is standard yet).

What I'd like to see is for the SVG lack of high quality 3D graphics to be addressed in a similar way. Maybe an official "SVG 3D Canvas" spec?


On Sep 10, 2008, at 3:16 PM, Porter, David A wrote:

	Indeed, you are prescient about this Donald--there is interesting and frustrating stuff out there ahead.
	When we go beyond 2D to 3D, that brings up a welter of other mechanisms for getting graphics stuff on somebody's display.  Here in Boeing of course we are deeply involved in massive capabilities like CGM/WebCGM (not me personally).  Obviously, way beyond what SVG ever intended to address, in scope, size, depth.  This computer / web graphics arena such a vast field, it's hard to narrow down opportunities to choose paths and work on them.  
	Seems like there is some distinguishing matrix of 2/3D graphics characteristics, you almost need a Edward Tufte-like mind mapof them floating out there in space, where  you could regard their various aspects and figure out where the world is going, then flip it around and look at it using a different lens.  Some of the axes might be things like simple vs. complex, declarative vs. imperative, past-present-future (progressions or versioning), open vs. proprietary, platforms it runs on, and so forth.  One might observe the progression thru VML, to SVG, to future versions of it, or the rise of integrated RIA graphics thingies like FLEX/Flash, as pieces of this larger picture.  As it is, it's kind of hard to get oriented to the many things that are on tap.
	Apologies if I am rambling, but one might set out to articulate some sort of positioning of SVG as it is now, or where it's going, in relation to those other things, that *could* help someone get engaged.  It's a very significant and useful standard (IMHO)!
	Distributed Server Integration, GG-GG-5581, homepage http://grp-cno-dst-svr.web.boeing.com/ 
	Boeing Information Technology, Bellevue Washington USA 
	* phone 253-223-4732, other contact options at http://card.web.boeing.com/WebCard.cfm?id=113185 
	Server Inventory links: http://distributedserver.web.boeing.com/serverinventory/ServerInventoryLinks.htm 


	From: Donald Doherty [mailto:donald.doherty@brainstage.com] 
	Sent: Wednesday, September 10, 2008 11:37 AM
	To: Dailey, David P.
	Cc: public-svg-ig@w3.org
	Subject: Re: HTML 5 Canvas spec [3D and SVG]

	Thank you for jumping in on this topic. I'm only jumping in now because I'm so behind in my email...

	HTML 5 Canvas brings up an SVG frustration for us. That is, 3D displays!

	SVG in my opinion becomes very interesting in the context of Web applications (as apposed to Web pages...I mean applications like Google spreadsheets, docs, etc.). However, applications - and especially those in life sciences and medicine - often demand 3D graphics.

	A standard means for displaying high-quality 3D images would go a long way towards making SVG irresistible!


	Donald Doherty, Ph.D.
	Founder and Chief Science Officer
	Brainstage, Inc.
	www.brainstage.com <http://www.brainstage.com/> 

	On Sep 3, 2008, at 12:16 PM, Dailey, David P. wrote:

		Hi David:


		David Porter wrote:


		".[...]Is it a threat or complement
		to one's SVG work?  [...] 'A 3D Exploration of the HTML Canvas Element Greg Travis, DevX.com' "

		I thought someone else might make a stab at this but given that they didn't I guess I will.  Maybe I'll say something wrong just on purpose to see if we can persuade lurkers to join some of the conversations.


		When I found out about <canvas> I thought it was someone's attempt to sabotage SVG. The Apple folks who promoted it tried to convince others that it was something entirely different (using lots of fancy jargon to make their point). I remained very skeptical.


		Then someone (like maybe Anne from Opera) wrote something in the HTML5 discussions that basically said - hey mellow out - they both do useful stuff. So I have mellowed a bit and concede the point. <canvas> is likely to be a really fast way of blittiing pixels onto the screen and playing with them. Opera and maybe others have been playing with 3D canvas operations - if only we could put an <svg> into a <canvas> so that we could read the pixels back from our <svg> or implement the get Pixel value and put Pixel value operations from <canvas> then we'd have something.


		I think the experience with Photoshop and Illustrator indicates that it's a lot easier to put pixel stuff into a vector environment than to do it the other way around.


		My only concern remaining was that HTML5 would adopt <canvas> and ignore <svg> in such a way that implementers might be able to continue to ignore SVG. Doug seems optimistic that that won't happen, and he knows how this stuff works, so I think we can relax a bit more now.


		In the long run, with the fact that Google now supports (some) SVG in Chrome, it may soon be a moot point. 


		I would be delighted if some one could put some really simple and some really cool demos in the SVG-wiki that show a) how to use canvas and b) how to combine the use of canvas with that of svg. The symbiosis could be very cool!


Received on Wednesday, 10 September 2008 20:38:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 14 April 2009 16:29:30 GMT