Google recently announced the release of their O3D plugin and web API for creating 3D web graphics. As various commentators have pointed out this isn’t the first or only attempt to create a 3D web standard. I remember many years ago being excited by VRML and the prospect of adding 3D content to the Web. I was especially excited when at the time a colleague brought in a fantastic VRML rendition of the inside of Tutankhamun’s Tomb that he’d created, all running inside a browser. The Web could be so much more with 3D, and while I’ve not looked at the detail to say whether Google’s attempt is better than the others, it’s probably true that Google is more likely to push it hard enough to make it work. It’ll be a shame though if it lives only as a plugin, a kind of purgatory of integration inside the browser but removed from the rest of the page.
Along with the plugin Google also released some nice looking demos, and one in particular cought my eye: this vertex shader example. Here they apparently use a vertex shader to set the normal vertices of an animated 3D sine wave. It would be great to do something similar with Functy. At present the normals in Functy are generated using the Symbolic library in C, which can require quite some computing power for a complicated function using many vertices. If this could be handed over to the graphics card it could result in a real speedup and the possibility for much more accurate function plotting.
Unfortunately I don’t know enough about vertex shaders. But the nice thing about O3D is that all of the code is there in the Web page, so I’m hoping a bit of playing around with the examples, and some reading up about OpenGL could be a step in the right direction.