Package com.sun.j3d.utils.image

# Class TextureLoader

java.lang.Object
com.sun.j3d.utils.image.TextureLoader

public class TextureLoader extends Object
This class is used for loading a texture from an Image or BufferedImage. The Image I/O API is used to load the images. (If the JAI IIO Tools package is available, a larger set of formats can be loaded, including TIFF, JPEG2000, and so on.) Methods are provided to retrieve the Texture object and the associated ImageComponent object or a scaled version of the ImageComponent object. Default format is RGBA. Other legal formats are: RGBA, RGBA4, RGB5_A1, RGB, RGB4, RGB5, R3_G3_B2, LUM8_ALPHA8, LUM4_ALPHA4, LUMINANCE and ALPHA

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ALLOW_NON_POWER_OF_TWO`
Optional flag - specifies that the ImageComponent2D is allowed to have dimensions that are not a power of two.
`static final int`
`BY_REFERENCE`
Optional flag - specifies that the ImageComponent2D will access the image data by reference
`static final int`
`GENERATE_MIPMAP`
Optional flag - specifies that mipmaps are generated for all levels
`static final int`
`Y_UP`
Optional flag - specifies that the ImageComponent2D will have a y-orientation of y up, meaning the origin of the image is the lower left

## Constructor Summary

Constructors
Constructor
Description
`TextureLoader(BufferedImage bImage)`
Contructs a TextureLoader object using the specified BufferedImage and default format RGBA
`TextureLoader(BufferedImage bImage, int flags)`
Contructs a TextureLoader object using the specified BufferedImage, option flags and default format RGBA
`TextureLoader(BufferedImage bImage, String format)`
Contructs a TextureLoader object using the specified BufferedImage and format
`TextureLoader(BufferedImage bImage, String format, int flags)`
Contructs a TextureLoader object using the specified BufferedImage, format and option flags
`TextureLoader(Image image, int flags, Component observer)`
Contructs a TextureLoader object using the specified Image flags and default format RGBA
`TextureLoader(Image image, Component observer)`
Contructs a TextureLoader object using the specified Image and default format RGBA
`TextureLoader(Image image, String format, int flags, Component observer)`
Contructs a TextureLoader object using the specified Image format and option flags
`TextureLoader(Image image, String format, Component observer)`
Contructs a TextureLoader object using the specified Image and format
`TextureLoader(String fname, int flags, Component observer)`
Contructs a TextureLoader object using the specified file, option flags and default format RGBA
`TextureLoader(String fname, Component observer)`
Contructs a TextureLoader object using the specified file and default format RGBA
`TextureLoader(String fname, String format, int flags, Component observer)`
Contructs a TextureLoader object using the specified file, format and option flags
`TextureLoader(String fname, String format, Component observer)`
Contructs a TextureLoader object using the specified file, and format
`TextureLoader(URL url, int flags, Component observer)`
Contructs a TextureLoader object using the specified URL, option flags and default format RGBA
`TextureLoader(URL url, Component observer)`
Contructs a TextureLoader object using the specified URL and default format RGBA
`TextureLoader(URL url, String format, int flags, Component observer)`
Contructs a TextureLoader object using the specified URL, format and option flags
`TextureLoader(URL url, String format, Component observer)`
Contructs a TextureLoader object using the specified URL, and format

## Method Summary

Modifier and Type
Method
Description
`ImageComponent2D`
`getImage()`
Returns the associated ImageComponent2D object
`ImageComponent2D`
`getScaledImage(float xScale, float yScale)`
Returns the scaled ImageComponent2D object
`ImageComponent2D`
`getScaledImage(int width, int height)`
Returns the scaled ImageComponent2D object
`Texture`
`getTexture()`
Returns the associated Texture object.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### GENERATE_MIPMAP

public static final int GENERATE_MIPMAP
Optional flag - specifies that mipmaps are generated for all levels

See Also:
  - Constant Field Values

### BY_REFERENCE

public static final int BY_REFERENCE
Optional flag - specifies that the ImageComponent2D will access the image data by reference

Since:
  Java 3D 1.2
See Also:
  - Constant Field Values

### Y_UP

public static final int Y_UP
Optional flag - specifies that the ImageComponent2D will have a y-orientation of y up, meaning the origin of the image is the lower left

Since:
  Java 3D 1.2
See Also:
  - Constant Field Values

### ALLOW_NON_POWER_OF_TWO

public static final int ALLOW_NON_POWER_OF_TWO
Optional flag - specifies that the ImageComponent2D is allowed to have dimensions that are not a power of two. If this flag is set, TextureLoader will not perform any scaling of images. If this flag is not set, images will be scaled to the nearest power of two. This is the default mode.

Note that non-power-of-two textures may not be supported by all graphics cards. Applications should check whether a particular Canvas3D supports non-power-of-two textures by calling the `Canvas3D.queryProperties()` method, and checking whether the `textureNonPowerOfTwoAvailable` property is set to true.

Since:
  Java 3D 1.5
See Also:
  - Constant Field Values

## Constructor Details

### TextureLoader

public TextureLoader(BufferedImage bImage)
Contructs a TextureLoader object using the specified BufferedImage and default format RGBA

Parameters:
  `bImage` - The BufferedImage used for loading the texture
Throws:
  `NullPointerException` - if bImage is null

### TextureLoader

public TextureLoader(BufferedImage bImage, String format)
Contructs a TextureLoader object using the specified BufferedImage and format

Parameters:
  `bImage` - The BufferedImage used for loading the texture
  `format` - The format specifies which channels to use
Throws:
  `NullPointerException` - if bImage is null

### TextureLoader

public TextureLoader(BufferedImage bImage, int flags)
Contructs a TextureLoader object using the specified BufferedImage, option flags and default format RGBA

Parameters:
  `bImage` - The BufferedImage used for loading the texture
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
Throws:
  `NullPointerException` - if bImage is null

### TextureLoader

public TextureLoader(BufferedImage bImage, String format, int flags)
Contructs a TextureLoader object using the specified BufferedImage, format and option flags

Parameters:
  `bImage` - The BufferedImage used for loading the texture
  `format` - The format specifies which channels to use
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
Throws:
  `NullPointerException` - if bImage is null

### TextureLoader

public TextureLoader(Image image, Component observer)
Contructs a TextureLoader object using the specified Image and default format RGBA

Parameters:
  `image` - The Image used for loading the texture
  `observer` - The associated image observer
Throws:
  `NullPointerException` - if image is null
  `ImageException` - if there is a problem loading the image

### TextureLoader

public TextureLoader(Image image, String format, Component observer)
Contructs a TextureLoader object using the specified Image and format

Parameters:
  `image` - The Image used for loading the texture
  `format` - The format specifies which channels to use
  `observer` - The associated image observer
Throws:
  `NullPointerException` - if image is null
  `ImageException` - if there is a problem loading the image

### TextureLoader

public TextureLoader(Image image, int flags, Component observer)
Contructs a TextureLoader object using the specified Image flags and default format RGBA

Parameters:
  `image` - The Image used for loading the texture
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
  `observer` - The associated image observer
Throws:
  `NullPointerException` - if image is null
  `ImageException` - if there is a problem loading the image

### TextureLoader

public TextureLoader(Image image, String format, int flags, Component observer)
Contructs a TextureLoader object using the specified Image format and option flags

Parameters:
  `image` - The Image used for loading the texture
  `format` - The format specifies which channels to use
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
  `observer` - The associated image observer
Throws:
  `NullPointerException` - if image is null
  `ImageException` - if there is a problem loading the image

### TextureLoader

public TextureLoader(String fname, Component observer)
Contructs a TextureLoader object using the specified file and default format RGBA

Parameters:
  `fname` - The file that specifies an Image to load the texture with
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(String fname, String format, Component observer)
Contructs a TextureLoader object using the specified file, and format

Parameters:
  `fname` - The file that specifies an Image to load the texture with
  `format` - The format specifies which channels to use
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(String fname, int flags, Component observer)
Contructs a TextureLoader object using the specified file, option flags and default format RGBA

Parameters:
  `fname` - The file that specifies an Image to load the texture with
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(String fname, String format, int flags, Component observer)
Contructs a TextureLoader object using the specified file, format and option flags

Parameters:
  `fname` - The file that specifies an Image to load the texture with
  `format` - The format specifies which channels to use
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(URL url, Component observer)
Contructs a TextureLoader object using the specified URL and default format RGBA

Parameters:
  `url` - The URL that specifies an Image to load the texture with
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(URL url, String format, Component observer)
Contructs a TextureLoader object using the specified URL, and format

Parameters:
  `url` - The URL that specifies an Image to load the texture with
  `format` - The format specifies which channels to use
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(URL url, int flags, Component observer)
Contructs a TextureLoader object using the specified URL, option flags and default format RGBA

Parameters:
  `url` - The URL that specifies an Image to load the texture with
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

### TextureLoader

public TextureLoader(URL url, String format, int flags, Component observer)
Contructs a TextureLoader object using the specified URL, format and option flags

Parameters:
  `url` - The url that specifies an Image to load the texture with
  `format` - The format specifies which channels to use
  `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
  `observer` - The associated image observer
Throws:
  `ImageException` - if there is a problem reading the image

## Method Details

### getImage

public ImageComponent2D getImage()
Returns the associated ImageComponent2D object

Returns:
  The associated ImageComponent2D object

### getScaledImage

public ImageComponent2D getScaledImage(float xScale, float yScale)
Returns the scaled ImageComponent2D object

Parameters:
  `xScale` - The X scaling factor
  `yScale` - The Y scaling factor
Returns:
  The scaled ImageComponent2D object

### getScaledImage

public ImageComponent2D getScaledImage(int width, int height)
Returns the scaled ImageComponent2D object

Parameters:
  `width` - The desired width
  `height` - The desired height
Returns:
  The scaled ImageComponent2D object

### getTexture

public Texture getTexture()
Returns the associated Texture object.

Returns:
  The associated Texture object