So the basic issue is that the pointAt() method isn't working with the parameters you are using. I couldn't figure out the correct parameters so I just plugged in my own createLookAtMatrix() method which is written directly based on DeVries. Now it all works. I tweaked the key handling on the way past based on the Lime samples - note that it now uses arrow keys because that's what the sample does. If you want WASD it should be trivial to add back. I also based the deltatime on the update() method. I tried a lot of things and was clutching at straws so obviously some of these changes are not required but I didn't rip everything out either. Anyhow like I said, it was the lookat matrix. Enjoy.