## com.sun.opengl.util.texture.spi
Interface TextureProvider

    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 Summary
`TextureData` `newTextureData(File file, int internalFormat, int pixelFormat, boolean mipmap, String fileSuffix)` Produces a TextureData object from a file, or returns null if the file format was not supported by this TextureProvider.
`TextureData` `newTextureData(InputStream stream, int internalFormat, int pixelFormat, boolean mipmap, String fileSuffix)` Produces a TextureData object from a stream, or returns null if the file format was not supported by this TextureProvider.
`TextureData` `newTextureData(URL url, int internalFormat, int pixelFormat, boolean mipmap, String fileSuffix)` Produces a TextureData object from a URL, or returns null if the file format was not supported by this TextureProvider.

Method Detail

### newTextureData

    TextureData newTextureData(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:
    `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(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:
    `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(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:
    `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

Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.