Class 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

      Fields 
      Modifier and Type Field Description
      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

      Constructors 
      Constructor Description
      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, 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.awt.Component observer)
      Contructs a TextureLoader object using the specified Image and default format RGBA
      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.awt.Image image, java.lang.String format, java.awt.Component observer)
      Contructs a TextureLoader object using the specified Image and format
      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.awt.Component observer)
      Contructs a TextureLoader object using the specified file and default format RGBA
      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.lang.String fname, java.lang.String format, java.awt.Component observer)
      Contructs a TextureLoader object using the specified file, and format
      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.awt.Component observer)
      Contructs a TextureLoader object using the specified URL and default format RGBA
      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
      TextureLoader​(java.net.URL url, java.lang.String format, java.awt.Component observer)
      Contructs a TextureLoader object using the specified URL, and format
    • 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