i write program that ables user to move through 3d plot.
there is an option to rotate view vector of camera, from parallel to XZ plane, to parallel to XY plane. the up vector at gluLookAt is set as (0,1,0).

user is able to move through a plot with ASDW keys and everything is ok (fast), until i set the view vector of camera parallel to XY plane (eg. [0, -1, 0]. when this happens, i can see just one bright pixel in the center of the viewport.

i tried to limit one of the coordinates of the view point, so it never reached same value as camera coord, but the movements (of ASDW and mouse) are VERY slow.

can you explain these two behaviours?

i have an explanation of the second (slow motion). it was because moving camera depends of view vector. if i look "under my feet", x coordinate of this vector is very small, and movement depends of that, and other coords.

but why i cant look from upside on my scene?