Und ich würde dir noch empfehlen, diesen Code hier zu benutzen:

über der while-schleife:
Code:
ENTITY* dummy = ent_create(NULL,nullvector,NULL);  //erstelle einen Dummy, welcher
//später als Orientierungspunkt der Kamera dient


und in der while-schleife:
Code:
vec_set(dummy.x,vector(my.x,my.y,my.z+150));  //setze den Dummy auf die Entity
camera.x=dummy.x-(50)*cos(dummy.tilt)*cos(dummy.pan);
camera.y=dummy.y-(50)*cos(dummy.tilt)*sin(dummy.pan);
camera.z=dummy.z-(50)*sin(dummy.tilt);  //rotiere die Kamera um den Dummy 
//(50 ist hier der Abstand)
vec_set(camera.pan,dummy.pan); //rotiere die Kamera


Das deckt nämlich auch noch die Eventualität ab, dass du die Kamera gen oben bzw. unten neigen willst.
Wenn du jetzt die Kamera neigen willst, musst du nur die Winkel von "dummy" ändern.
Z.B. so:
Code:
dummy.pan = my.pan;  //camera dreht sich mit my mit
dummy.tilt += (key_q-key_a)*3*time_step;  //neige die Kamera
//beim Drücken der Tasten 'q' oder 'a'




Hilf mir, dir zu helfen!