I just found out about Google's O3D project, for rendering 3D graphics in Browsers using html and javascript. It seems nice, although the graphics are about 5 years outdated as far as I could see. Has anyone tried it out?
I did. It looked good, did nice specular reflections. It was a little hard to figure out the navigation, but I didn't have a lot of time to put into it either.
it seems aimed at programmers not designers
3d environments should be easy to describe and build but the documentation i found on it seemed to be way more programmer oriented
I spent some time reading the docs and playing with it. As a test I made a Conway's Game of Life using their canvas object:
This is actually running completely in javascript and performs surprisingly well; much faster than an equivalent test I did in Unity3D. Moving it into a pixel-shader would be the next step in performance, then it would really fly.
This is a serious project on the cutting edge of graphics technology. They have made really good decisions about the architecture and how it integrates with the browser.
But, it is a low level graphics api - at a similar level to DirectX or OpenGL, and it uses a modern 'programmable pipeline' instead of a traditional/legacy 'fixed-function-pipeline'. In layman's terms, this means that it wont run on older computers, but it can fully utilize newer graphics hardware in terms of both performance and features. It also means that developers need to understand modern graphics programming techniques like shaders, render graphs, etc.
It supports web-formats for images (like jpg and png) but also supports game-industry style DDS textures that are far more optimized for loading into video card RAM. It can load xml-based COLLADA assets, but also has a binary-like JSON interface for optimized loading of processed assets.
For O3D to really take off, it is going to need higher-level javascript APIs built on top of it. Ideally something like a game engine that includes physics and audio, has a consistent lighting model and optimized asset format.