javax.media.ding3d.utils.image
Class TextureLoader

java.lang.Object
  extended by javax.media.ding3d.utils.image.TextureLoader

public class TextureLoader
extends java.lang.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
static 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 int BY_REFERENCE
          Optional flag - specifies that the ImageComponent2D will access the image data by reference
static int GENERATE_MIPMAP
          Optional flag - specifies that mipmaps are generated for all levels
static 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
TextureLoader(java.awt.image.BufferedImage bImage)
          Contructs a TextureLoader object using the specified BufferedImage and default format RGBA
TextureLoader(java.awt.image.BufferedImage bImage, int flags)
          Contructs a TextureLoader object using the specified BufferedImage, option flags and default format RGBA
TextureLoader(java.awt.image.BufferedImage bImage, java.lang.String format)
          Contructs a TextureLoader object using the specified BufferedImage and format
TextureLoader(java.awt.image.BufferedImage bImage, java.lang.String format, int flags)
          Contructs a TextureLoader object using the specified BufferedImage, format and option flags
TextureLoader(java.awt.Image image, java.awt.Component observer)
          Contructs a TextureLoader object using the specified Image and default format RGBA
TextureLoader(java.awt.Image image, int flags, java.awt.Component observer)
          Contructs a TextureLoader object using the specified Image flags and default format RGBA
TextureLoader(java.awt.Image image, java.lang.String format, java.awt.Component observer)
          Contructs a TextureLoader object using the specified Image and format
TextureLoader(java.awt.Image image, java.lang.String format, int flags, java.awt.Component observer)
          Contructs a TextureLoader object using the specified Image format and option flags
TextureLoader(java.lang.String fname, java.awt.Component observer)
          Contructs a TextureLoader object using the specified file and default format RGBA
TextureLoader(java.lang.String fname, int flags, java.awt.Component observer)
          Contructs a TextureLoader object using the specified file, option flags and default format RGBA
TextureLoader(java.lang.String fname, java.lang.String format, java.awt.Component observer)
          Contructs a TextureLoader object using the specified file, and format
TextureLoader(java.lang.String fname, java.lang.String format, int flags, java.awt.Component observer)
          Contructs a TextureLoader object using the specified file, format and option flags
TextureLoader(java.net.URL url, java.awt.Component observer)
          Contructs a TextureLoader object using the specified URL and default format RGBA
TextureLoader(java.net.URL url, int flags, java.awt.Component observer)
          Contructs a TextureLoader object using the specified URL, option flags and default format RGBA
TextureLoader(java.net.URL url, java.lang.String format, java.awt.Component observer)
          Contructs a TextureLoader object using the specified URL, and format
TextureLoader(java.net.URL url, java.lang.String format, int flags, java.awt.Component observer)
          Contructs a TextureLoader object using the specified URL, format and option flags
 
Method Summary
 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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 Detail

TextureLoader

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

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

TextureLoader

public TextureLoader(java.awt.image.BufferedImage bImage,
                     java.lang.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:
java.lang.NullPointerException - if bImage is null

TextureLoader

public TextureLoader(java.awt.image.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:
java.lang.NullPointerException - if bImage is null

TextureLoader

public TextureLoader(java.awt.image.BufferedImage bImage,
                     java.lang.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:
java.lang.NullPointerException - if bImage is null

TextureLoader

public TextureLoader(java.awt.Image image,
                     java.awt.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:
java.lang.NullPointerException - if image is null
ImageException - if there is a problem loading the image

TextureLoader

public TextureLoader(java.awt.Image image,
                     java.lang.String format,
                     java.awt.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:
java.lang.NullPointerException - if image is null
ImageException - if there is a problem loading the image

TextureLoader

public TextureLoader(java.awt.Image image,
                     int flags,
                     java.awt.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:
java.lang.NullPointerException - if image is null
ImageException - if there is a problem loading the image

TextureLoader

public TextureLoader(java.awt.Image image,
                     java.lang.String format,
                     int flags,
                     java.awt.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:
java.lang.NullPointerException - if image is null
ImageException - if there is a problem loading the image

TextureLoader

public TextureLoader(java.lang.String fname,
                     java.awt.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(java.lang.String fname,
                     java.lang.String format,
                     java.awt.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(java.lang.String fname,
                     int flags,
                     java.awt.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(java.lang.String fname,
                     java.lang.String format,
                     int flags,
                     java.awt.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(java.net.URL url,
                     java.awt.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(java.net.URL url,
                     java.lang.String format,
                     java.awt.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(java.net.URL url,
                     int flags,
                     java.awt.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(java.net.URL url,
                     java.lang.String format,
                     int flags,
                     java.awt.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 Detail

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