GAMGI Interfaces: Layer Config

# Layer Config

- Projection
- Position
- History

Define here the region of space to where the user is looking by default when creating a new layer.

Initially, the user is at (0, 0, +z), looking down to (0, 0, 0), and the up direction is (0, 1, 0), so the x axis points to the right, the y axis points to the top, and the z axis points to the user.

### Eye

Set the user position, that is applied by default, when creating a new layer. Any position in 3D space is valid.

### Center

Set the position to where the user is looking, that is applied by default, when creating a new layer. The distance from Eye to Center must be within the limits of visibility (from Near to Far).

### Up

Set the direction pointing up, to the top of the screen, that is applied by default, when creating a new layer. This direction is converted internally to a unit vector normal to the direction Eye -> Center, so any non-zero vector that is not parallel to that direction is valid.

The user position and orientation can be defined by a (X,Y,Z) layer referential, pointing from the middle of the screen to: the right (X), the top (Y), the user (Z). Eye is the origin, Eye <- Center defines the Z axis, and Up the Y axis, permiting to get the X axis by the cross product of the other two axes. Initially, the axes are orientated along (1,0,0) for X, (0,1,0) for Y and (0,0,1) for Z, but this is no longer the case when the layer referential is rotated.

Each layer has its own position parameters, so in a window with multiple visible layers, the image rendered in the graphic area is the superposition of the various, totally independent, layer views.
Home