OpenGLは3D描画エンジン。
PhysXは物理エンジン。
どっちも必要。
言語はC++が柔軟性あっていい。

ただ目的を達成したいなら、Unityエンジン使った方がいい。
スクリプトはC#で、物理エンジンも付属してる。
無料で使えるし。ただ日本語の情報量は少なめ。