This is an abstract function, not a simple FdPosition, because one of the descendants (TAbstractX3DViewpointNode) doesn't have FdPosition field. For now, all non-abstract descendants (for both VRML 1.0 and VRML >= 2.0) override this and expose their position field correctly.
class function ProjectionType: TProjectionType; virtual; abstract;
direction and up are (respectively) -Z and +Y rotated by FdOrientation,
gravity up is +Y.
They are all then transformed by the current viewpoint transformation (determined by parent nodes like Transform).
One conclusion from the above is that the only way to change the gravity up vector (this determines in which direction viewer falls down) is to use the Transform node around the viewpoint node.