I wrote a little WebGL last week, and it seemed like a really solid API. Auto-compiled shaders right in the page as scripts, conversion between js arrays and GL buffers is easy, etc. The only major problem in Chrome 9 beta at least is 100% pegged CPU even on a simple scene...