Interface TextureProvider

All Known Implementing Classes:
IIOTextureProvider

public interface TextureProvider
Plug-in interface to TextureIO to support reading OpenGL textures from new file formats. For all methods, either internalFormat or pixelFormat may be 0 in which case they must be inferred as e.g. RGB or RGBA depending on the file contents.
  • Method Details

    • newTextureData

      TextureData newTextureData(GLProfile glp, File file, int internalFormat, int pixelFormat, boolean mipmap, String fileSuffix) throws IOException
      Produces a TextureData object from a file, or returns null if the file format was not supported by this TextureProvider. Does not do any OpenGL-related work. The resulting TextureData can be converted into an OpenGL texture in a later step.
      Parameters:
      glp - the OpenGL Profile this texture data should be created for.
      file - the file from which to read the texture data
      internalFormat - the OpenGL internal format to be used for the texture, or 0 if it should be inferred from the file's contents
      pixelFormat - the OpenGL pixel format to be used for the texture, or 0 if it should be inferred from the file's contents
      mipmap - whether mipmaps should be produced for this texture either by autogenerating them or reading them from the file. Some file formats support multiple mipmaps in a single file in which case those mipmaps will be used rather than generating them.
      fileSuffix - the file suffix to be used as a hint to the provider to more quickly decide whether it can handle the file, or null if the provider should infer the type from the file's contents
      Throws:
      IOException - if an error occurred while reading the file
    • newTextureData

      TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, boolean mipmap, String fileSuffix) throws IOException
      Produces a TextureData object from a stream, or returns null if the file format was not supported by this TextureProvider. Does not do any OpenGL-related work. The resulting TextureData can be converted into an OpenGL texture in a later step.
      Parameters:
      glp - the OpenGL Profile this texture data should be created for.
      stream - the stream from which to read the texture data
      internalFormat - the OpenGL internal format to be used for the texture, or 0 if it should be inferred from the file's contents
      pixelFormat - the OpenGL pixel format to be used for the texture, or 0 if it should be inferred from the file's contents
      mipmap - whether mipmaps should be produced for this texture either by autogenerating them or reading them from the file. Some file formats support multiple mipmaps in a single file in which case those mipmaps will be used rather than generating them.
      fileSuffix - the file suffix to be used as a hint to the provider to more quickly decide whether it can handle the file, or null if the provider should infer the type from the file's contents
      Throws:
      IOException - if an error occurred while reading the stream
    • newTextureData

      TextureData newTextureData(GLProfile glp, URL url, int internalFormat, int pixelFormat, boolean mipmap, String fileSuffix) throws IOException
      Produces a TextureData object from a URL, or returns null if the file format was not supported by this TextureProvider. Does not do any OpenGL-related work. The resulting TextureData can be converted into an OpenGL texture in a later step.
      Parameters:
      glp - the OpenGL Profile this texture data should be created for.
      url - the URL from which to read the texture data
      internalFormat - the OpenGL internal format to be used for the texture, or 0 if it should be inferred from the file's contents
      pixelFormat - the OpenGL pixel format to be used for the texture, or 0 if it should be inferred from the file's contents
      mipmap - whether mipmaps should be produced for this texture either by autogenerating them or reading them from the file. Some file formats support multiple mipmaps in a single file in which case those mipmaps will be used rather than generating them.
      fileSuffix - the file suffix to be used as a hint to the provider to more quickly decide whether it can handle the file, or null if the provider should infer the type from the file's contents
      Throws:
      IOException - if an error occurred while reading the URL