com.jogamp.opengl.util.stereo

## Class StereoClientRenderer

- java.lang.Object
- - com.jogamp.opengl.util.stereo.StereoClientRenderer

- All Implemented Interfaces:
    EventListener, GLEventListener

      public class StereoClientRenderer
      extends Object
      implements GLEventListener

  `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()`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StereoClientRenderer(StereoDeviceRenderer deviceRenderer, boolean ownsDevice, int magFilter, int minFilter, int numSamples)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addGLEventListener(StereoGLEventListener l)`
    `void` | `display(GLAutoDrawable drawable)` Called by the drawable to initiate OpenGL rendering by the client.
    `void` | `dispose(GLAutoDrawable drawable)` Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs.
    `StereoDeviceRenderer` | `getStereoDeviceRenderer()`
    `void` | `init(GLAutoDrawable drawable)` Called by the drawable immediately after the OpenGL context is initialized.
    `void` | `removeGLEventListener(StereoGLEventListener l)`
    `void` | `reshape(GLAutoDrawable drawable, int x, int y, int width, int height)` Called by the drawable during the first repaint after the component has been resized.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StereoClientRenderer

          public StereoClientRenderer(StereoDeviceRenderer deviceRenderer,
                              boolean ownsDevice,
                              int magFilter,
                              int minFilter,
                              int numSamples)

  - ### Method Detail

    - #### getStereoDeviceRenderer

          public final StereoDeviceRenderer getStereoDeviceRenderer()

    - #### addGLEventListener

          public final void addGLEventListener(StereoGLEventListener l)

    - #### removeGLEventListener

          public final void removeGLEventListener(StereoGLEventListener l)

    - #### init

          public void init(GLAutoDrawable drawable)

      Description copied from interface: `GLEventListener`
      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.

      Specified by:
        `init` in interface `GLEventListener`

    - #### dispose

          public void dispose(GLAutoDrawable drawable)

      Description copied from interface: `GLEventListener`
      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 `GLEventListener.init(GLAutoDrawable)` in case the GLContext has been recreated, e.g. due to a pixel configuration change in a multihead environment.

      Specified by:
        `dispose` in interface `GLEventListener`

    - #### display

          public void display(GLAutoDrawable drawable)

      Description copied from interface: `GLEventListener`
      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.
      Specified by:
        `display` in interface `GLEventListener`

    - #### reshape

          public void reshape(GLAutoDrawable drawable,
                     int x,
                     int y,
                     int width,
                     int height)

      Description copied from interface: `GLEventListener`
      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.

      Specified by:
        `reshape` in interface `GLEventListener`
      Parameters:
        `drawable` - the triggering `GLAutoDrawable`
        `x` - viewport x-coord in pixel units
        `y` - viewport y-coord in pixel units
        `width` - viewport width in pixel units
        `height` - viewport height in pixel units

Copyright 2010 JogAmp Community.