Class PingPongBuffer

java.lang.Object
gaiasky.render.postprocess.util.PingPongBuffer
All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable

public final class PingPongBuffer extends Object implements com.badlogic.gdx.utils.Disposable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    int
     
    final boolean
     
    com.badlogic.gdx.graphics.Texture
     
    com.badlogic.gdx.graphics.Texture
     
    int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    PingPongBuffer(int width, int height, com.badlogic.gdx.graphics.Pixmap.Format pixmapFormat, boolean hasDepth, boolean hasNormal, boolean hasReflectionMask, boolean preventFloatBuffer)
    Creates a new ping-pong buffer and owns the resources.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Ensures the initial buffer state is always the same before starting ping-ponging.
    com.badlogic.gdx.graphics.Texture
    Starts and/or continue ping-ponging, begin capturing on the next available buffer, returns the result of the previous call.
    createMainFrameBuffer(int width, int height, boolean hasDepth, boolean hasNormal, boolean hasReflectionMask, com.badlogic.gdx.graphics.Pixmap.Format frameBufferFormat, boolean preventFloatBuffer)
     
    void
    Free the resources, if any.
    void
    end()
    Finishes ping-ponging, must always be called after a call to capture()
     
     
    com.badlogic.gdx.graphics.Texture
     
    com.badlogic.gdx.graphics.Texture
     
     
    void
    When needed graphics memory could be invalidated so buffers should be rebuilt.
    void
    Restore the previous buffers if the instance was owning resources.
    void
    An instance of this object can also be used to manipulate some other externally-allocated buffers, applying just the same ping-ponging behavior.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ownResources

      public final boolean ownResources
    • texture1

      public com.badlogic.gdx.graphics.Texture texture1
    • texture2

      public com.badlogic.gdx.graphics.Texture texture2
    • width

      public int width
    • height

      public int height
  • Constructor Details

    • PingPongBuffer

      public PingPongBuffer(int width, int height, com.badlogic.gdx.graphics.Pixmap.Format pixmapFormat, boolean hasDepth, boolean hasNormal, boolean hasReflectionMask, boolean preventFloatBuffer)
      Creates a new ping-pong buffer and owns the resources.
  • Method Details

    • createMainFrameBuffer

      public static GaiaSkyFrameBuffer createMainFrameBuffer(int width, int height, boolean hasDepth, boolean hasNormal, boolean hasReflectionMask, com.badlogic.gdx.graphics.Pixmap.Format frameBufferFormat, boolean preventFloatBuffer)
    • set

      public void set(GaiaSkyFrameBuffer buffer1, GaiaSkyFrameBuffer buffer2)
      An instance of this object can also be used to manipulate some other externally-allocated buffers, applying just the same ping-ponging behavior.

      If this instance of the object was owning the resources, they will be preserved and will be restored by a reset() call.

      Parameters:
      buffer1 - the first buffer
      buffer2 - the second buffer
    • reset

      public void reset()
      Restore the previous buffers if the instance was owning resources.
    • dispose

      public void dispose()
      Free the resources, if any.
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable
    • rebind

      public void rebind()
      When needed graphics memory could be invalidated so buffers should be rebuilt.
    • begin

      public void begin()
      Ensures the initial buffer state is always the same before starting ping-ponging.
    • capture

      public com.badlogic.gdx.graphics.Texture capture()
      Starts and/or continue ping-ponging, begin capturing on the next available buffer, returns the result of the previous call.
      Returns:
      the Texture containing the result.
    • end

      public void end()
      Finishes ping-ponging, must always be called after a call to capture()
    • getSouceTexture

      public com.badlogic.gdx.graphics.Texture getSouceTexture()
      Returns:
      the source texture of the current ping-pong chain.
    • getSourceBuffer

      public GaiaSkyFrameBuffer getSourceBuffer()
      Returns:
      the source buffer of the current ping-pong chain.
    • getResultTexture

      public com.badlogic.gdx.graphics.Texture getResultTexture()
      Returns:
      the result's texture of the latest capture().
    • getResultBuffer

      public GaiaSkyFrameBuffer getResultBuffer()
      Returns:
      Returns the result's buffer of the latest capture().
    • getMainBuffer

      public GaiaSkyFrameBuffer getMainBuffer()