Vengo de un fondo de Unity3D, así como de Papervision3D en el pasado, así que tenía una buena comprensión de cómo lidiar con el espacio 3D. Three.js es el camino a seguir para tu salto inicial en aprender a lidiar con los proyectos WebGL. La API es muy buena, es muy potente y si vienes de otra tecnología 3D, estarás en funcionamiento con muy poco tiempo.
Pasé mucho tiempo con los ejemplos de Threejs.org: hay un montón de ellos y son muy buenos para sacarte y correr en la dirección correcta. Los documentos son lo suficientemente decentes, especialmente si los está comparando con otros API webGL 3D disponibles.
También puede considerar obtener la versión gratuita de Unity3D y el exportador gratuito collada (era gratis cuando lo obtuve) de su tienda de aplicaciones (Ventana> Tienda de aplicaciones). Me resultó bastante fácil configurar mi escena en Unity y exportarla a Collada para usarla con Three.js.
Además, publiqué esta clase que uso con Three.js llamada neo ( http://rockonflash.com/webGL/three/neo.js ). Simplemente agréguelo a su proyecto, luego llame a Neo.JackIntoThree () y agregará los métodos / propiedades a Object3D para usar en su proyecto. Cosas como DrawAllAxis () son invaluables al depurar su escena, etc.
Sin embargo, Three.js es una excelente manera de hacerlo: es lo suficientemente flexible como para permitirle escribir sus propios sombreadores / objetos, etc., y lo suficientemente potente desde el primer momento para ayudarlo a lograr sus objetivos.