canvas 3d is very much wip, http://blog.vlad1.com/category/mozilla/canvas-3d/ is what I came up with how we make progress on the mozilla side.
It's going to be a while 'til users will have that on their machines. Depending on the complexity of your data and its presentation, you can either go server side or do the 3d->2d mapping in js on the client. Axel 2009/9/9 Niels Mayer <[email protected]> > In the course of bugfixing the timeplot widget, I've been reading through > the sources. I noticed the following code: > http://code.google.com/p/simile-widgets/source/browse/timeplot/trunk/src/webapp/api/scripts/plot.js > > > <http://code.google.com/p/simile-widgets/source/browse/timeplot/trunk/src/webapp/api/scripts/plot.js> > /** > * Paint this plot layer > */ > paint: function() { > var ctx = this._canvas.getContext('2d'); > > I was wondering whether the same canvas used by Exhibit supports 3d > plotting?Some googling suggests it does: > > - http://blog.nihilogic.dk/2008/04/canvas-3d-better-textures.html > - http://ajaxian.com/archives/3d-canvas-in-opera > - http://my.opera.com/timjoh/blog/index.dml/tag/opera > > And the HTML 5 spec says ( see > http://www.whatwg.org/specs/web-apps/current-work/#the-canvas-element > and http://www.whatwg.org/specs/web-apps/current-work/#the-2d-context ): > > context = canvas . getContext(contextId) > > >> Returns an object that exposes an API for drawing on the canvas. > > >> Returns null if the given context ID is not supported. > > >> This specification only defines one context, with the name "2d". If >> getContext() is called with that exact string for its contextId argument, >> then the UA must return a reference to an object implementing >> CanvasRenderingContext2D. Other specifications may define their own >> contexts, which would return different objects. > > >> Vendors may also define experimental contexts using the syntax >> vendorname-context, for example, moz-3d. > > >> When the UA is passed an empty string or a string specifying a context >> that it does not support, then it must return null. String comparisons must >> be case-sensitive. > > >> A future version of this specification will probably define a 3d context >> (probably based on the OpenGL ES API). > > > Question: How prevalent and supported is context "3d" or "moz-3d" on HTML5 > compliant browsers? Is "moz-3d" implemented on any other browsers, such as > Safari or Chrome? > And what about IE support for this graphics context? What's the performance > like? > > Would it be unwise to extend exhibit to do a 3d plot out of JavaScript? In > other words, am I better off converting the data I want to visualize in 3d > into an image on the server-side? Or is it worth pursuing plotting the data > on the client side using a 3d context in Canvas (which would be nice, e.g. > to be able to change facets and have them render directly in canvas). > > Have any 3d plotting extensions been integrated into Exhibit? E.g. > something like the timeplot extension that uses 3d graphics to represent > multiple separate datasets -- the time-axis > continues to be the X-axis; however, instead of the current approach of > layering each related dataset into the same 2d canvas using colors/fills, > the Z-axis would be used to generate 3d depth cues. > > Thanks in advance for any insights or help you can provide. > > -- Niels > http://nielsmayer.com > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "SIMILE Widgets" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/simile-widgets?hl=en -~----------~----~----~----~------~----~------~--~---
