Package playn.core

Class TextureSurface

All Implemented Interfaces:
AutoCloseable, Closeable

public class TextureSurface extends Surface
A Surface which renders to a Texture instead of to the default frame buffer.

Note: a TextureSurface makes use of three GPU resources: a framebuffer, a quad batch and a texture. The framebuffer's lifecycle is tied to the lifecycle of the TextureSurface. When you close() it the framebuffer is disposed.

The quad batch's lifecycle is independent of the TextureSurface. Most likely you will use the default quad batch for your game which lives for the lifetime of your game.

The texture's lifecycle is also independent of the TextureSurface and is managed by reference counting. The texture is neither referenced, nor released by the TextureSurface. It is assumed that the texture will be stuffed into an ImageLayer or used for rendering elsewhere and that code will manage the texture's lifecycle (even if the texture is created by TextureSurface in the first place).

  • Field Details

    • texture

      public final Texture texture
      The texture into which we're rendering.
  • Constructor Details

    • TextureSurface

      public TextureSurface(Graphics gfx, QuadBatch defaultBatch, float width, float height)
      Creates a texture surface which is width x height in display units. A managed backing texture will be automatically created.
    • TextureSurface

      public TextureSurface(Graphics gfx, QuadBatch defaultBatch, Texture texture)
      Creates a texture surface which renders to texture.
  • Method Details