WebGL around the net, 23 December 2010

Season’s greetings to everyone!

  • Firefox 4 beta 8 is out, with WebGL switched on by default (but not for Linux users, sadly). Here’s a post about it from Vladimir Vukićević, who’s ultimately responsible for the whole thing.
  • Here’s a new one from Jacob Seidelin: Music Visualizer. (Via the Chromium blog)
  • Pl4n3’s WebGL game is starting to look promising! (Though its name is probably only pronounceable in German ;-)
  • The Flight of the Navigator WebGL and Mozilla Audio API demo is now properly live.
  • Here’s a Scene.js dancing teapot!
  • Damn, I was working on something like this (though not so cool): a WebGL Orrery from Ilmari Heikkinen.
  • Hm. ‘Tis the season to draw teapots….
  • Good news from Alvaro — the Chrome Frame plug-in for Internet Explorer has been tested in the wild and confirmed to run WebGL! So hopefully we’ll be able to write 3D pages that everyone can see, albeit with a plug-in if they’re sticking with IE.
  • If you’ve not seen it already, this talk by Google’s Ken Russell from WebGL Camp earlier this month is well worth watching (thanks to Henrik Bennetsen for the pointer). Some highlights:
    • Future versions of Chromium (and presumably Minefield) might support an idea of Mozilla’s, where you can ask the browser to call your scene-rendering function at an appropriate rate instead of blindly rendering 60 times a second. This will be a great way of (for example) stopping WebGL content on a hidden browser tab eating up all of your CPU and GPU.
    • A new extension to XmlHttpRequest (also discussed here) will make it much easier to load up the kind of binary data that you can keep in JavaScript typed arrays — like, for example WebGL vertex attribute arrays. This will make it much easier to load models into your JavaScript for rendering. Sounds like this is WebKit (Chromium and Safari) only for now, though. Anyone know if Mozilla are intending to implement it?
    • Good news about the new Crankshaft JavaScript engine coming soon in Chrome (but perhaps not in Chrome 9) — if I understood Ken correctly, it might be able to compile appropriate bits of JavaScript down into SSE instructions. These are number-crunching-specific instructions supported by Intel’s CPUs, and are normally the kind of thing only used in hand-coded assembler language or very optimised C. A JavaScript interpreter that recognised appropriate times to use them could get very fast indeed. No timescales or promises, though!
  • Also on the subject of the WebGL camp videos — Google’s Body Browser demo has been getting press all over the place, and rightly so. This 7-minute talk from Vangelis Kokkevis gives a nice overview of what it can do, and a few notes on how it does it (with possibly the quickest and most succinct description of GPU picking I’ve ever heard!)
  • Perhaps one result of the Body Browser’s popularity is the slight uptick in hits on the Khronos WebGL page… certainly the number of people stopping by here at Learning WebGL has almost doubled over the last week (hello, everyone!)
  • PlayWebGL’s Quake 2 server is back!
  • Some interesting discussion on the forums about the importance of being able to get detailed mouse information — and, to a degree, to be able to control the mouse pointer — for serious WebGL games. Some browser support will be required here at some point, it seems…
You can leave a response, or trackback from your own site.

6 Responses to “WebGL around the net, 23 December 2010”

  1. We’re actually already shipping a typed byte array XHR response property in Firefox 4 (it’s in beta 8):
    see mozResponseArrayBuffer.

  2. aa says:

    SSE instructions is awesome. Together with the type inference engine (Mozilla) and faster typed arrays (v8 is quite a bit slower), the future looks very bright for javascript.

  3. Benoit Jacob says:

    SIMD (SSE, etc) is great, but if history repeats itself, compilers won’t be able to do a very good job using it automatically; instead, the full benefit of SIMD will only be obtained with help from the JS programmer e.g. by using intrinsics to specify how to SIMD-ify code.

  4. jd says:

    We really need something like a javascript binding for OpenCL (ie WebCL) for SSE computation. Later it could be extended to use the GPGPU or APU functionality coming from AMD and Nvidia.

  5. Lewpen says:

    Hey, been following your site for a while and finally gotten around to publishing some demos @ http://www.lewpen.com/articles/3d-graphics/webgl/ … Actually made these over a year ago, but had to fight with the newest sharer compilers. Seems you can’t initialise any global variables directly, have to set their values at the top of main, is this a bug or a feature? :)

  6. giles says:

    @Ted — thanks! I’ll put that in the next roundup.

    @aa, @Benoit — it’ll be interesting to see, though — VMs and JIT seem to be on a never-ending run of improvements right now.

    @jd — a lot of people are asking for a kind of WebCL, but I don’t know of anyone looking at actually doing it.

    @Lewpen — thanks! I love ray tracers, definitely one for the next roundup.

Leave a Reply

Subscribe to RSS Feed Follow Learning WebGL on Twitter