The scenario is very simple. I have a 3d scene rendered with OpenGL. The users can navigate/orbit the scene by click and drag with mouse to check the scene from different perspect. I did it by changing the view matrix.
The limitation is that the orbiting is always around the eyes' target point, which is the center of the view.
What I want to achieve is when the click and drag, the orbiting is around the point where the user clicked(like google earth does). Can anyone give me a method or direction?