# Interface TextureSource

public interface TextureSource
Supplies and updates the texture rendered by a `Media360View`, enabling dynamic content such as procedural animations - and, once a platform path from media frames to GPU textures exists, 360 video. All methods run on the render thread.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Texture`
  `createTexture(GraphicsDevice device)`
  Creates the texture.
  `void`
  `dispose(GraphicsDevice device)`
  Invoked when the view tears down.
  `boolean`
  `updateTexture(GraphicsDevice device, Texture texture)`
  Invoked once per frame before drawing.

- ## Method Details

  - ### createTexture

    Texture createTexture(GraphicsDevice device)

    Creates the texture. Invoked once on the render thread after the GPU context is ready.

    ###### Parameters

    - `device`: the graphics device bound to the view

    ###### Returns

    the texture to map onto the sphere

  - ### updateTexture

    boolean updateTexture(GraphicsDevice device, Texture texture)

    Invoked once per frame before drawing. Update the texture contents here and return true when they changed (so continuous sources keep the view animating).

    ###### Parameters

    - `device`: the graphics device bound to the view

    - `texture`: the texture returned by `#createTexture(GraphicsDevice)`

    ###### Returns

    true when the texture contents changed this frame

  - ### dispose

    void dispose(GraphicsDevice device)

    Invoked when the view tears down. Release anything the source owns; the texture itself is disposed by the view.

    ###### Parameters

    - `device`: the graphics device bound to the view