Class StereoClientRenderer

java.lang.Object
com.jogamp.opengl.util.stereo.StereoClientRenderer
All Implemented Interfaces:
GLEventListener, EventListener

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 Details

    • StereoClientRenderer

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

    • 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