Camera movement APIs

Hi all,
I am planning to develop a “Home Design” software. But that requires a Camera movement functionality. I wanted to know is there any opensource library which can satisfy the following requirements

1)Do not use GLUT. (LookAt)
2)Should be able to use the following modes.
a) Walking : person can look at any direction, but can fly only in XZ plane
b) Flying : Person should be able to move in any direction.
3) Preferably C++ APIs.

I do not want to use any game engines.

Please help me to find one. (Google didn’t help me much).

Thanks
dmantamp

my advice: learn matrix algebra and do the math yourself. its really not that difficult. if you dont understand the math, all the apis in the world wont save you in the long run anyway. if you do understand the math, then writing a camera system will be easy, and fun too.

Just for the record, gluLookAt is part of glu not glut.

Mikael

that because no API is required for camera movement and no matrix math to learn is really required (but recommended).
here is an example from my camera header:

 void CCamera::updateCamera()
	{
	  float px = m_vPos.x;
	  float py = m_vPos.y;
	  float pz = m_vPos.z;
	  float lx = m_vLookat.x;
	  float ly = m_vLookat.y;
	  float lz = m_vLookat.z;
	  gluLookAt(px,py,pz,lx,ly,lz,0,1,0);
	};
 

and now for functions like to translate by x, i just do:
m_vPos.x = fX;
updateCamera();
thats all, fX is a float X parameter.