Eye Position
The eye position is the position along the z-axis from which a set of objects contained in a view object are seen. Use the EYE keyword to the IDLgrView::Init method to specify the distance from the eye position to the viewing plane (or use the SetProperty method to alter the eye position of an existing view object). The eye position must be a z value larger than the z value of the near clipping plane (see Near and Far Clipping Planes) or zero, whichever is greater. That is, the eye must always be located at a positive z value, and must be outside the volume bounded by the near and far clipping planes.
For example, the following moves the eye position to z = 5:
The eye is always positioned directly in front of the center of the viewplane rectangle. That is, if the VIEWPLANE_RECT property is set equal to [–1, –1, 2, 2], the eye will be located at X=0, Y=0.
Changing the position of the eye has no effect when you are using a parallel projection. Changing the eye position when you are using a perspective projection has a somewhat counter-intuitive affect: moving the eye closer to the near clipping plane causes objects in the volume being rendered to appear smaller rather than larger. To understand why this should be true, consider the following diagram.
In a perspective projection, rays from the graphic objects in the view volume converge at the eye position. When the eye is close to the viewing plane, the projected rays cross the viewing plane (where rendering actually occurs) in a relatively small area. When the eye moves farther from the viewing plane, the projected rays become more nearly parallel and occupy a larger area on the viewing plane when rendered.
