Top Description Fields Constructors Methods
com.jogamp.opengl.util.stereo

public Class StereoClientRenderer

extends Object
implements GLEventListener
Class Inheritance
All Implemented Interfaces
com.jogamp.opengl.GLEventListener, java.util.EventListener
Imports
com.jogamp.nativewindow.util.DimensionImmutable, .RectangleImmutable, com.jogamp.opengl.GL, .GL2ES2, .GLAutoDrawable, .GLEventListener, .FBObject, .FBObject.Attachment, .FBObject.TextureAttachment, .FBObject.Attachment.Type, jogamp.opengl.GLDrawableHelper, .GLDrawableHelper.GLEventListenerAction, com.jogamp.opengl.util.CustomGLEventListener

StereoClientRenderer utilizing StereoDeviceRenderer implementing GLEventListener for convenience.

See StereoDeviceRenderer notes about Correct Asymmetric FOV Rendering.

Implementation renders StereoGLEventListener using one or more FBObject according to StereoDeviceRenderer#getTextureCount().

Field Summary

Modifier and TypeField and Description
private final StereoDeviceRenderer
private final FBObject[]
private final FBObject.TextureAttachment[]
private final GLDrawableHelper
private final int
private final int
private int
private final boolean

Constructor Summary

AccessConstructor and Description
public
StereoClientRenderer(final StereoDeviceRenderer deviceRenderer, final boolean ownsDevice, final int magFilter, final int minFilter, final int numSamples)

Method Summary

Modifier and TypeMethod and Description
public final void
public void
display(final GLAutoDrawable drawable)

Implements com.jogamp.opengl.GLEventListener.display.

Called by the drawable to initiate OpenGL rendering by the client.
public void
dispose(final GLAutoDrawable drawable)

Implements com.jogamp.opengl.GLEventListener.dispose.

Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs.
public final StereoDeviceRenderer
public void
init(final GLAutoDrawable drawable)

Implements com.jogamp.opengl.GLEventListener.init.

Called by the drawable immediately after the OpenGL context is initialized.
private void
initFBOs(final GL gl, final DimensionImmutable[] sizes)

public final void
private void
resetFBOs(final GL gl, final DimensionImmutable size)

public void
reshape(final GLAutoDrawable
the triggering GLAutoDrawable
drawable
,
final int
viewport x-coord in pixel units
x
,
final int
viewport y-coord in pixel units
y
,
final int
viewport width in pixel units
width
,
final int
viewport height in pixel units
height
)

Implements com.jogamp.opengl.GLEventListener.reshape.

Called by the drawable during the first repaint after the component has been resized.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

deviceRendererback to summary
private final StereoDeviceRenderer deviceRenderer
fbosback to summary
private final FBObject[] fbos
fboTexsback to summary
private final FBObject.TextureAttachment[] fboTexs
helperback to summary
private final GLDrawableHelper helper
magFilterback to summary
private final int magFilter
minFilterback to summary
private final int minFilter
numSamplesback to summary
private int numSamples
ownsDeviceback to summary
private final boolean ownsDevice

Constructor Detail

StereoClientRendererback to summary
public StereoClientRenderer(final StereoDeviceRenderer deviceRenderer, final boolean ownsDevice, final int magFilter, final int minFilter, final int numSamples)

Method Detail

addGLEventListenerback to summary
public final void addGLEventListener(final StereoGLEventListener l)
displayback to summary
public void display(final GLAutoDrawable drawable)

Implements com.jogamp.opengl.GLEventListener.display.

Doc from com.jogamp.opengl.GLEventListener.display.

Called by the drawable to initiate OpenGL rendering by the client. After all GLEventListeners have been notified of a display event, the drawable will swap its buffers if setAutoSwapBufferMode is enabled.

Annotations
@Override
disposeback to summary
public void dispose(final GLAutoDrawable drawable)

Implements com.jogamp.opengl.GLEventListener.dispose.

Doc from com.jogamp.opengl.GLEventListener.dispose.

Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs.

Called by the drawable before the OpenGL context is destroyed by an external event, like a reconfiguration of the GLAutoDrawable closing an attached window, but also manually by calling destroy.

Note that this event does not imply the end of life of the application. It could be produced with a followup call to init(GLAutoDrawable) in case the GLContext has been recreated, e.g. due to a pixel configuration change in a multihead environment.

Annotations
@Override
getStereoDeviceRendererback to summary
public final StereoDeviceRenderer getStereoDeviceRenderer()
initback to summary
public void init(final GLAutoDrawable drawable)

Implements com.jogamp.opengl.GLEventListener.init.

Doc from com.jogamp.opengl.GLEventListener.init.

Called by the drawable immediately after the OpenGL context is initialized. Can be used to perform one-time OpenGL initialization per GLContext, such as setup of lights and display lists.

Note that this method may be called more than once if the underlying OpenGL context for the GLAutoDrawable is destroyed and recreated, for example if a GLCanvas is removed from the widget hierarchy and later added again.

Annotations
@Override
initFBOsback to summary
private void initFBOs(final GL gl, final DimensionImmutable[] sizes)
removeGLEventListenerback to summary
public final void removeGLEventListener(final StereoGLEventListener l)
resetFBOsback to summary
private void resetFBOs(final GL gl, final DimensionImmutable size)
Annotations
@SuppressWarnings:unused
reshapeback to summary
public void reshape(final GLAutoDrawable drawable, final int x, final int y, final int width, final int height)

Implements com.jogamp.opengl.GLEventListener.reshape.

Doc from com.jogamp.opengl.GLEventListener.reshape.

Called by the drawable during the first repaint after the component has been resized.

The client can update it's viewport associated data and view volume of the window appropriately.

For efficiency the GL viewport has already been updated via glViewport(x, y, width, height) when this method is called.

Parameters
drawable:GLAutoDrawable

the triggering GLAutoDrawable

x:int

viewport x-coord in pixel units

y:int

viewport y-coord in pixel units

width:int

viewport width in pixel units

height:int

viewport height in pixel units

Annotations
@Override