Moving the camera in 3D space

I’m having trouble rotating my camera so that it points upwards from the exact position it’s in. I’m using LibGDX and I have a button that executes this statement…


camera.rotate(.3f, 1, 0, 0);

The camera will only rotate upwards if it’s facing away from -z. It will begin to point downwards if it’s pointing towards +z. Anywhere in between, and it does a strange offset loop.