I have been playing with the view matrix via Matrix.setLookAt() method.
Then an idea struck me. I decided to use Matrix.rotateM() on view matrix and see what is the result. I have noticed that the world rotates around the center origin defined by the setLookAt(), but not the eye origin.
Anyone knows why? And what should I do to rotate with the eye as origin?
Note: I am using AIDE to play around. I am nowhere near a computer.
Update:
I realized that I did an arcball camera just by using a combination of Matrix.setLookAt() and two Matrix.rotateM() twice on view matrix.
//Pseudocode
Matrix.setLookAt(viewMatrix, 0, eye, center, up);
Matrix.rotateM(viewMatrix, 0, yaw, 0, -1, 0);
Matrix.rotateM(viewMatrix, 0, pitch, -1, 0, 0);