SoCameraSetStereoAbsoluteAdjustments Method |
Note: This API is now obsolete.
Specifies if stereo adjustments are absolute.
Namespace: OIV.Inventor.Nodes
[EditorBrowsableAttribute(EditorBrowsableState.Never)] [ObsoleteAttribute("Obsolete since Open Inventor 9.7.0.0. Use SoStereoCamera and absoluteAdjustments field instead.")] public virtual void SetStereoAbsoluteAdjustments( bool absolute )
false by default.
The default non-absolute mode allows the stereo settings to be valid over a range of different view volume settings. If you chose absolute mode, you are responsible for modifying the stereo settings (if necessary) when the view volume changes.
When absolute mode is true, stereo offset and balance are used as shown in the following pseudo-code for the right eye view:
StereoCameraOffset = getStereoAdjustment(); FrustumAsymmetry = getBalanceAdjustment(); glTranslated (-StereoCameraOffset, 0, 0); glFrustum (FrustumLeft + FrustumAsymmetry, FrustumRight + FrustumAsymmetry, FrustumBottom, FrustumTop, NearClipDistance, FarClipDistance);
When absolute mode is false, stereo offset and balance are used as shown in the following pseudo-code for the right eye view:
Xrange is right minus left (i.e., first two arguments of glFrustum) and multiply that difference by the ratio of the distance to the desired plane of zero parallax to the near clipping plane distance.
StereoCameraOffset = Xrange * 0.035 * getStereoAdjustment(); FrustumAsymmetry = -StereoCameraOffset * getBalanceAdjustment(); ZeroParallaxDistance = (NearClipDistance + FarClipDistance)/0.5; FrustumAsymmetry *= NearClipDistance / ZeroParallaxDistance; glTranslated (-StereoCameraOffset, 0, 0); glFrustum (FrustumLeft + FrustumAsymmetry, FrustumRight + FrustumAsymmetry, FrustumBottom, FrustumTop, NearClipDistance, FarClipDistance);
Not virtual pure for compatiblity reasons.
Caution |
---|
Obsolete since Open Inventor 9700. Use OIV.Inventor.Nodes.SoStereoCamera and absoluteAdjustments field instead. |