Class StereoUtil

java.lang.Object
com.jogamp.opengl.util.stereo.StereoUtil

public class StereoUtil extends Object
  • Constructor Details

    • StereoUtil

      public StereoUtil()
  • Method Details

    • getVertPupilCenterFromTop

      public static float getVertPupilCenterFromTop(float screenHeightInMeters, float pupilCenterFromScreenTopInMeters)
      Return the vertical pupil center from the screen top in the range [0..1].
      Parameters:
      screenHeightInMeters -
      pupilCenterFromScreenTopInMeters -
    • getHorizPupilCenterFromLeft

      public static float[] getHorizPupilCenterFromLeft(float screenWidthInMeters, float interpupillaryDistanceInMeters)
      Return the horizontal pupil center from the left side for both eyes in the range [0..1].
                  <-------------left eye------------->|                       |<-----------right eye-------------->
                  <------------------------------------screenSizeInMeters.Width----------------------------------->
                                             <------interpupillaryDistanceInMeters------>
                  <--centerFromLeftInMeters->
                                             ^
                                       center of pupil
       
      Parameters:
      screenWidthInMeters -
      interpupillaryDistanceInMeters -
    • usesBarrelDistortion

      public static boolean usesBarrelDistortion(int distortionBits)
    • usesTimewarpDistortion

      public static boolean usesTimewarpDistortion(int distortionBits)
    • usesChromaticDistortion

      public static boolean usesChromaticDistortion(int distortionBits)
    • usesVignetteDistortion

      public static boolean usesVignetteDistortion(int distortionBits)
    • distortionBitsToString

      public static String distortionBitsToString(int distortionBits)
    • usesOrientationSensor

      public static boolean usesOrientationSensor(int sensorBits)
    • usesYawCorrectionSensor

      public static boolean usesYawCorrectionSensor(int sensorBits)
    • usesPositionSensor

      public static boolean usesPositionSensor(int sensorBits)
    • sensorBitsToString

      public static String sensorBitsToString(int sensorBits)
    • getSBSUpstreamPMV

      public static void getSBSUpstreamPMV(ViewerPose viewerPose, StereoDeviceRenderer.Eye eye, float zNear, float zFar, float[] mat4Projection, float[] mat4Modelview)
      Calculates the Side By Side, SBS, projection- and modelview matrix for one eye.

      #updateViewerPose(int) must be called upfront.

      This method merely exist as an example implementation to compute the matrices, which shall be adopted by the upstream client code.

      Parameters:
      viewerPose -
      eye -
      zNear - frustum near value
      zFar - frustum far value
      mat4Projection - float[16] projection matrix result
      mat4Modelview - float[16] modelview matrix result