What I have implemented already
I have implemented an app which is able to render to the screen a list of polygons, with a specific static camera setting (position, look at and up vector), all in plain Java AWT without OpenGL.
I apply a model-view matrix first, then projection-to-2D matrix and then a viewport matrix.
I also implemented some basic transformation matrices on the world, such as translation, rotation of X/Y/Z axis around lookAt point and scaling around lookAt point.
What I want to achieve now
I want to be able to "move" in the world. Specifically, I want to navigate forward, backward, left and right with the keyboard arrows, and to be able to look at different points with the mouse. Just like in real games.
I guess this is done via changing the camera parameters each time and render the world again.
Is it that simple, though?
Moving in the world is just adding x,y values to camera position and look at a point?
In addition, is moving the mouse is just adding x,y to the look at a point?
Do I have to touch the up vector under any condition?
Informative answers, with additional relevant links, would also really help.