I\'m planning to write a 3D FPS game, based on WebGL.
Surprised noone mentioned Three.js. It has strong community behind it which adds new features on regular basis. You can try it out and play with it on WebGL playground:
http://webglplayground.net/
There is a Three.js template for new projects.