I was going to keep this until the next “around the net” post, but there’s too much to say about it to fit into one of those…
Today, Kenneth Russell announced that WebGL 1.0 will support extensions, and there’s now an official registry for them. (Actually, strictly speaking I think he “clarified” that it would support extensions, and the spec already said it did — though a number of people, including myself, hadn’t understood that.)
Anyway, what this means is that the WebGL spec will define all features that are guaranteed to exist in all WebGL implementations, but if you’re willing to write pages that only work on certain machines, you will be able to ask the WebGL runtime if it supports the extension for, say, floating-point textures (which are very useful for doing shadows) and if it does, you’ll be able to use them — though, of course, you’ll also need to write code to handle the case where they don’t work if you want people with less-able devices to be able to view your site.
This should be interesting; on the one hand, it stops WebGL from becoming a lowest-common-denominator API, so you should be a able to write pages that use at least some of the features of higher-end graphics hardware. This will mean that WebGL pages will compare better to desktop applications. On the other hand, it does run the risk of fragmenting things so that certain WebGL sites just don’t run on certain browsers/devices.
Perhaps the framework libraries can automate the process of failing over from using extensions to doing best-case rendering without them, so that application developers don’t need to?