JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java™ (public API).
com.jogamp.opengl.util.stereo.StereoDevice Interface Reference

Interface describing a native stereoscopic device. More...

Collaboration diagram for com.jogamp.opengl.util.stereo.StereoDevice:

Public Member Functions

StereoDeviceFactory getFactory ()
 Return the factory used to create this device. More...
 
void dispose ()
 Disposes this StereoDevice, if valid. More...
 
boolean isValid ()
 Returns true, if instance is created and not disposed, otherwise returns false. More...
 
PointImmutable getPosition ()
 If operation within a device spanning virtual desktop, returns the device position. More...
 
DimensionImmutable getSurfaceSize ()
 Returns the required surface size in pixel in target space. More...
 
int getRequiredRotation ()
 Returns the CCW rotation as required by this display device. More...
 
Vec3f getDefaultEyePositionOffset ()
 Return the device default eye position offset for createRenderer(int, int, Vec3f, FovHVHalves[], float). More...
 
FovHVHalves[] getDefaultFOV ()
 Returns the device default FovHVHalves for all supported eyes in natural order, i.e. More...
 
LocationSensorParameter getLocationSensorParams ()
 Returns the LocationSensorParameter of the device if SENSOR_POSITION is supported, otherwise returns null. More...
 
void resetLocationSensorOrigin ()
 Sets the location sensor's origin of this device to the current position. More...
 
boolean startSensors (int desiredSensorBits, int requiredSensorBits)
 Start desired and required sensors. More...
 
boolean stopSensors ()
 Stop sensors. More...
 
boolean getSensorsStarted ()
 Return true if sensors have been started, false otherwise. More...
 
int getSupportedSensorBits ()
 Returns the supported sensor capability bits, e.g. More...
 
int getEnabledSensorBits ()
 Returns the actual used sensor capability bits, e.g. More...
 
int[] getEyeRenderOrder ()
 Returns an array of the preferred eye rendering order. More...
 
int getSupportedDistortionBits ()
 Returns the supported distortion compensation of the StereoDeviceRenderer, e.g. More...
 
int getRecommendedDistortionBits ()
 Returns the recommended distortion compensation bits for the StereoDeviceRenderer, e.g. More...
 
int getMinimumDistortionBits ()
 Returns the minimum distortion compensation bits as required by the StereoDeviceRenderer, e.g. More...
 
StereoDeviceRenderer createRenderer (final int distortionBits, final int textureCount, final Vec3f eyePositionOffset, final FovHVHalves[] eyeFov, final float pixelsPerDisplayPixel, final int textureUnit)
 Create a new StereoDeviceRenderer instance. More...
 

Static Public Attributes

static final boolean DEBUG = Debug.debug("StereoDevice")
 
static final boolean DUMP_DATA = Debug.isPropertyDefined("jogl.debug.StereoDevice.DumpData", true)
 
static final int SENSOR_ORIENTATION = 1 << 0
 Sensor Bit: Orientation tracking. More...
 
static final int SENSOR_YAW_CORRECTION = 1 << 1
 Sensor Bit: Yaw correction. More...
 
static final int SENSOR_POSITION = 1 << 2
 Sensor Bit: Positional tracking. More...
 

Detailed Description

Interface describing a native stereoscopic device.

Definition at line 40 of file StereoDevice.java.

Member Function Documentation

◆ createRenderer()

StereoDeviceRenderer com.jogamp.opengl.util.stereo.StereoDevice.createRenderer ( final int  distortionBits,
final int  textureCount,
final Vec3f  eyePositionOffset,
final FovHVHalves[]  eyeFov,
final float  pixelsPerDisplayPixel,
final int  textureUnit 
)

Create a new StereoDeviceRenderer instance.

Parameters
distortionBitsStereoDeviceRenderer distortion bits, e.g. StereoDeviceRenderer#DISTORTION_BARREL, etc, see getRecommendedDistortionBits().
textureCountdesired texture count for post-processing, see StereoDeviceRenderer#getTextureCount() and StereoDeviceRenderer#ppAvailable()
eyePositionOffseteye position offset, e.g. getDefaultEyePositionOffset().
eyeFovFovHVHalves[] field-of-view per eye, e.g. getDefaultFOV(). May contain only one value for monoscopic devices, see getEyeRenderOrder().
pixelsPerDisplayPixel
textureUnit
Returns
Here is the caller graph for this function:

◆ dispose()

void com.jogamp.opengl.util.stereo.StereoDevice.dispose ( )

Disposes this StereoDevice, if valid.

Implementation shall stop sensors and free all resources.

Here is the caller graph for this function:

◆ getDefaultEyePositionOffset()

Vec3f com.jogamp.opengl.util.stereo.StereoDevice.getDefaultEyePositionOffset ( )

Return the device default eye position offset for createRenderer(int, int, Vec3f, FovHVHalves[], float).

Result is an array of float values for

  • right (positive)
  • up (positive)
  • forward (negative)
Returns
Here is the caller graph for this function:

◆ getDefaultFOV()

FovHVHalves[] com.jogamp.opengl.util.stereo.StereoDevice.getDefaultFOV ( )

Returns the device default FovHVHalves for all supported eyes in natural order, i.e.

left and right if supported.

Monoscopic devices return an array length of one, without the value for the right-eye!

Here is the caller graph for this function:

◆ getEnabledSensorBits()

int com.jogamp.opengl.util.stereo.StereoDevice.getEnabledSensorBits ( )

Returns the actual used sensor capability bits, e.g.

SENSOR_ORIENTATION, SENSOR_POSITION in case the device supports them and if they are enabled.

See also
startSensors(int, int)
stopSensors()
getSensorsStarted()
getSupportedSensorBits()

◆ getEyeRenderOrder()

int[] com.jogamp.opengl.util.stereo.StereoDevice.getEyeRenderOrder ( )

Returns an array of the preferred eye rendering order.

The array length reflects the supported eye count.

Monoscopic devices only support one eye, where stereoscopic device two eyes.

Here is the caller graph for this function:

◆ getFactory()

StereoDeviceFactory com.jogamp.opengl.util.stereo.StereoDevice.getFactory ( )

Return the factory used to create this device.

◆ getLocationSensorParams()

LocationSensorParameter com.jogamp.opengl.util.stereo.StereoDevice.getLocationSensorParams ( )

Returns the LocationSensorParameter of the device if SENSOR_POSITION is supported, otherwise returns null.

◆ getMinimumDistortionBits()

int com.jogamp.opengl.util.stereo.StereoDevice.getMinimumDistortionBits ( )

Returns the minimum distortion compensation bits as required by the StereoDeviceRenderer, e.g.

StereoDeviceRenderer#DISTORTION_BARREL in case the stereoscopic display uses [a]spherical lenses.

Minimum distortion compensation bits are being enforced by the StereoDeviceRenderer.

See also
getSupportedDistortionBits()
getRecommendedDistortionBits()
StereoDeviceRenderer::getDistortionBits()
createRenderer(int, int, Vec3f, FovHVHalves[], float, int)
Here is the caller graph for this function:

◆ getPosition()

PointImmutable com.jogamp.opengl.util.stereo.StereoDevice.getPosition ( )

If operation within a device spanning virtual desktop, returns the device position.

Otherwise simply 0/0.

Here is the caller graph for this function:

◆ getRecommendedDistortionBits()

int com.jogamp.opengl.util.stereo.StereoDevice.getRecommendedDistortionBits ( )

Returns the recommended distortion compensation bits for the StereoDeviceRenderer, e.g.

StereoDeviceRenderer#DISTORTION_BARREL, StereoDeviceRenderer#DISTORTION_CHROMATIC StereoDeviceRenderer#DISTORTION_VIGNETTE.

User shall use the recommended distortion compensation to achieve a distortion free view.

See also
StereoDeviceRenderer::getDistortionBits()
createRenderer(int, int, Vec3f, FovHVHalves[], float, int)
getSupportedDistortionBits()
getMinimumDistortionBits()
Here is the caller graph for this function:

◆ getRequiredRotation()

int com.jogamp.opengl.util.stereo.StereoDevice.getRequiredRotation ( )

Returns the CCW rotation as required by this display device.

Here is the caller graph for this function:

◆ getSensorsStarted()

boolean com.jogamp.opengl.util.stereo.StereoDevice.getSensorsStarted ( )

Return true if sensors have been started, false otherwise.

See also
startSensors(int, int)
stopSensors()
getSupportedSensorBits()
getEnabledSensorBits()
Here is the caller graph for this function:

◆ getSupportedDistortionBits()

◆ getSupportedSensorBits()

int com.jogamp.opengl.util.stereo.StereoDevice.getSupportedSensorBits ( )

Returns the supported sensor capability bits, e.g.

SENSOR_ORIENTATION, SENSOR_POSITION of the StereoDevice.

See also
startSensors(int, int)
stopSensors()
getSensorsStarted()
getEnabledSensorBits()
Here is the caller graph for this function:

◆ getSurfaceSize()

DimensionImmutable com.jogamp.opengl.util.stereo.StereoDevice.getSurfaceSize ( )

Returns the required surface size in pixel in target space.

Here is the caller graph for this function:

◆ isValid()

boolean com.jogamp.opengl.util.stereo.StereoDevice.isValid ( )

Returns true, if instance is created and not disposed, otherwise returns false.

◆ resetLocationSensorOrigin()

void com.jogamp.opengl.util.stereo.StereoDevice.resetLocationSensorOrigin ( )

Sets the location sensor's origin of this device to the current position.

In case SENSOR_POSITION is not supported, this method is a no-op.

Here is the caller graph for this function:

◆ startSensors()

boolean com.jogamp.opengl.util.stereo.StereoDevice.startSensors ( int  desiredSensorBits,
int  requiredSensorBits 
)

Start desired and required sensors.

Returns true if action was successful, otherwise false.

Method fails if required sensors are not supported.

Parameters
desiredSensorBitsthe desired optional sensors
requiredSensorBitsthe required sensors
See also
stopSensors()
getSensorsStarted()
getSupportedSensorBits()
getEnabledSensorBits()
Here is the caller graph for this function:

◆ stopSensors()

boolean com.jogamp.opengl.util.stereo.StereoDevice.stopSensors ( )

Stop sensors.

Returns true if action was successful, otherwise false.

See also
startSensors(int, int)
getSensorsStarted()
getSupportedSensorBits()
getEnabledSensorBits()
Here is the caller graph for this function:

Member Data Documentation

◆ DEBUG

final boolean com.jogamp.opengl.util.stereo.StereoDevice.DEBUG = Debug.debug("StereoDevice")
static

Definition at line 41 of file StereoDevice.java.

◆ DUMP_DATA

final boolean com.jogamp.opengl.util.stereo.StereoDevice.DUMP_DATA = Debug.isPropertyDefined("jogl.debug.StereoDevice.DumpData", true)
static

Definition at line 42 of file StereoDevice.java.

◆ SENSOR_ORIENTATION

final int com.jogamp.opengl.util.stereo.StereoDevice.SENSOR_ORIENTATION = 1 << 0
static

Sensor Bit: Orientation tracking.

Definition at line 47 of file StereoDevice.java.

◆ SENSOR_POSITION

final int com.jogamp.opengl.util.stereo.StereoDevice.SENSOR_POSITION = 1 << 2
static

Sensor Bit: Positional tracking.

Definition at line 57 of file StereoDevice.java.

◆ SENSOR_YAW_CORRECTION

final int com.jogamp.opengl.util.stereo.StereoDevice.SENSOR_YAW_CORRECTION = 1 << 1
static

Sensor Bit: Yaw correction.

Definition at line 52 of file StereoDevice.java.


The documentation for this interface was generated from the following file: