Loads of new links this week!
- The third WebGL camp has been announced: it’ll be at Google’s Mountain View offices, on June 10. [UPDATE: sign up here]
- A new… not-quite framework: “Kuda is an advanced JavaScript library and World Editor that enables web developers to quickly build interactive 3D web solutions.” Odd choice of name given the existence of CUDA, though.
- Also interesting: J3D is a Javascript 3D engine for WebGL that includes a Unity3d to WebGL object/scene exporter.
- There’s a new version of GLGE, with a sky shader system and improved fog — looks impressive!
- The improvements in the Canvas 3D JS library’s version 2.2 are more incremental, but still nice.
- And the last framework update for this week: there are new versions of CopperCube and CopperLicht, including some nice new WebGL demos.
- Looking for some WebGL lessons that are more advanced than mine? Check out Florian Boesch’s advanced demos with explanations, part 1, part 2, and part 3. Look out, however, some of the demos have been known to crash browsers (including mine on one of my machines). This analysis of browser WebGL support is interesting too.
- Mahesh Venkitachalam has created some interesting demos with code walkthroughs and explanations too, well worth a look.
- “Just take several pictures of your favorite objects, people or places from different points of view and … upload them to 3dtubeme.com. We will turn them into amazing digital 3D models.” Clever!
- There have been the usual rush of great three.js demos: Jordi Ros’s Waves, a doughnut made of lava, this 3D waveform, and these normal-mapped photos stand out.
- pl4n3 has made Wloom optionally use GLGE, and it’s looking pretty good!
- Some cool maths: an interactive iterated function system, apparently originally written for DirectX.
- Brandon Jones returns to the WebGL fold with three blog posts: a useful jQuery plugin to get the appropriate version of requestAnimationFrame for your browser, a baseline WebGL application to use as a starting point for your own projects, and a promising-looking screenshot of an upcoming demo.
- Don’t start playing Hakim El Hattab’s Coil unless you have an hour or two to spare… On the other hand, don’t look at these shader demos unless you want to feel like you’ve just smoked something illegal…
- A fluid photo (click on the image once it’s loaded, enable raindrops for the most interesting effect)
- A machine learning algorithm from Yi Ren: double-click on the car design you like most, then click “train”. Keep doing that and watch a personalised design emerge.
- Roger Stuckey has converted a VRML simulation of a load-carrying CH-47B Chinook helicopter into X3D/X3DOM, so it’s viewable through WebGL.
- Here’s a 3D Sonic the Hedgehog in WebGL.
- Path tracing is an algorithm for realistic lighting, and this page is a great demo.
- Interesting WebGL matrix library benchmarks: it still looks like glMatrix is the best bet [UPDATE: on Firefox, at least -- it looks like TDLMath and TDLFast are better choices for Chrome, with glMatrix coming next. Cross-browser, it's hard to say which would be a better choice.]
- Here are some fun Minecraft-style images
- WebGL Report tells you all about your browser’s WebGL support.
Thanks to Mariuz for a bunch of the links in this post. That’s it for this week — if you’ve done a demo you’d like me to put in next time, just leave a link in the comments below.




Just to add another link, I made a 3D Processing.js and XB PointStream virtual museum demo a while back. Don’t think it was included in the links:
http://scotland.proximity.on.ca/asalga/demos/museum/
Another one for the list, requires Firefox 4 Audio API, default song included but you can drag and drop your own OGG file into it
http://cubicvr.org/CubicVR.js/BeatDetektor-NMG/
@Andor — thanks, I’ll put that in next week.
@Charles — does the Audio API still need more than a baseline FF4? I only got the controls to play be a tune, nothing else. Didn’t have an OGG file to drag and drop onto it, but I assume there should have been some kind of graphics…?
Tried Chrome 11 with the conformance tests. 5913 of 6041 tests passed, versus Chrome 10 5782 out of 6002 (guess they added tests). Anyway Chrome 11 is still in beta so my guess is by the end of beta (in about a month or two) we may very well have a fully compliant webGL browser.
@giles the graphics should be visible immediately (and even without FF4)
You should see this:
http://dl.dropbox.com/u/5453194/bd-nmg1.jpg
http://dl.dropbox.com/u/5453194/bd-nmg2.jpg
I’ve done a minor update that hopefully fixes ATI visual glitches but not sure why it wouldn’t display altogether — Please let me know if you have any errors showing in the console log.
What made you think glMatrix is the best? In Chrome 10 TDL comes out fastest.
I remixed the interactive iterated function system so it’s synced to some music.
http://goo.gl/t5aXy
@Charles — still getting just the music on my work machine (and, ironically, 500 error on the Dropbox links!). I’ll check it at home, the work machine can be problematic.
@Jim — interesting, glMatrix wins by a mile on Firefox for me and I’m sure it was winning on Chrome too when I tested it. But I tried it just now, and saw the same results as you, glMatrix coming in third. I’ll update the post.
@bompo — very cool!
@Charles — nope, looks like an error of some kind. There’s a long listing in the error console, I can email it if helpful but I think it’s just your shaders being dumped out. The error message is “Error: Could not initialise shader vert”, then a listing in round brackets, starting with
…and then ending with
It claims this happens in “Source File: http://cubicvr.org/CubicVR.js/BeatDetektor-NMG/CubicVR.js, Line: 2951″. No indication as to why it can’t initialise it.
This is on Windows Vista 32-bit with ATI HD 2400 graphics (“business graphics”), and also on Windows 7 64-bit with ATI Radeon HD 4670 (a high-end laptop GPU).
Hi. Does anybody know how to get a simple model spinning (slowly) around the Y-axis with Brandon Jones’ WebGLSandbox (http://blog.tojicode.com/2011/04/webgl-starter-package.html)? I’ve inserted a “mat4.rotateY(modelViewMat, 0.08);” in the “Matrix setup” section in glSandbox.js, and in my html file I do a “setupWebGLSandbox(canvas, false)”, but I get no visible animation. I’m using Chrome.
@Jon — I suspect you’ll need to rotate by a variable that you update each time you go through the render loop — the number isn’t cumulative.
[...] d’avoir un éditeur complet et stable, mais la version de développement ayant été relayé sur LearningWebGL, il en a été autrement [...]