fix wrong camera lookat computation

Fix the bug that it does not work correctly when the up is not (0, 1, 0)