Мое мнение — WebGL мертвая технология, тк JavaScript слишком тормозной для написания чего-нибудь ресурсоемкого. Будущее за такими технологиями как Unity3d ( например www.facebook.com/apps/application.php?id=207689995920190 ), NativeClient и тд
Сторонние библиотеки — это удобно. Скачал и сразу работаешь. Если их надо отдельно ставить — это геморрой. Например за использовали вы библиотеку libXXX версии 1.4.6 локально она у вас есть, но вы не залили ее в репозиторий и тут у вас накрылся винт. Вы заново забираете свой проект их SVN, лезите на сайт библиотеки libXXX, а его нет! Лазите по инету, а там только последняя версия этой библиотеки есть libXXX 2.0.1, которая не совместима с вашим кодом. Все, проект переписывать? ( почти реальный случай )
Если думаешь в дальнейшем работать в gamedev, то Java — бесперспективен. Если нет, то зачем делать игру а не что-то более приближенное к будущей работе?
А вообще забавно, поливать грязью Microsoft, привозносить Google, но при этом пользоваться C# :)
Про кватернионы лучше почитать тут www.gamedev.ru/code/articles/?id=4215
wat.gamedev.ru/articles/quaternions
wasm.ru/article.php?article=Win32SEHPietrek1 ч1
wasm.ru/article.php?article=Win32SEHPietrek2 ч2
wasm.ru/article.php?article=Win32SEHPietrek3 ч3