Package javax.media.j3d
Class Texture3D
java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.NodeComponent
javax.media.j3d.Texture
javax.media.j3d.Texture3D
Texture3D is a subclass of Texture class. It extends Texture
class by adding a third coordinate, constructor and a mutator
method for setting a 3D texture image.
If 3D texture mapping is not supported on a particular Canvas3D,
3D texture mapping is ignored for that canvas.
Note that as of Java 3D 1.5, the texture width, height, and depth are no longer required to be an exact power of two. However, not all graphics devices supports non-power-of-two textures. If non-power-of-two texture mapping is unsupported on a particular Canvas3D, textures with a width, height, or depth that are not an exact power of two are ignored for that canvas.
- See Also:
-
Field Summary
Fields inherited from class javax.media.j3d.Texture
ALLOW_ANISOTROPIC_FILTER_READ, ALLOW_BOUNDARY_COLOR_READ, ALLOW_BOUNDARY_MODE_READ, ALLOW_ENABLE_READ, ALLOW_ENABLE_WRITE, ALLOW_FILTER_READ, ALLOW_FILTER4_READ, ALLOW_FORMAT_READ, ALLOW_IMAGE_READ, ALLOW_IMAGE_WRITE, ALLOW_LOD_RANGE_READ, ALLOW_LOD_RANGE_WRITE, ALLOW_MIPMAP_MODE_READ, ALLOW_SHARPEN_TEXTURE_READ, ALLOW_SIZE_READ, ALPHA, ANISOTROPIC_NONE, ANISOTROPIC_SINGLE_VALUE, BASE_LEVEL, BASE_LEVEL_LINEAR, BASE_LEVEL_POINT, CLAMP, CLAMP_TO_BOUNDARY, CLAMP_TO_EDGE, FASTEST, FILTER4, INTENSITY, LINEAR_SHARPEN, LINEAR_SHARPEN_ALPHA, LINEAR_SHARPEN_RGB, LUMINANCE, LUMINANCE_ALPHA, MULTI_LEVEL_LINEAR, MULTI_LEVEL_MIPMAP, MULTI_LEVEL_POINT, NICEST, RGB, RGBA, WRAP
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a Texture3D object with default parameters.Texture3D
(int mipmapMode, int format, int width, int height, int depth) Constructs an empty Texture3D object with specified mipmapMode format, width, height, and depth.Texture3D
(int mipmapMode, int format, int width, int height, int depth, int boundaryWidth) Constructs an empty Texture3D object with specified mipmapMode format, width, height, depth, and boundaryWidth. -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.replaced with cloneNodeComponent(boolean forceDuplicate)void
duplicateNodeComponent
(NodeComponent originalNodeComponent) Deprecated.replaced with duplicateNodeComponent( NodeComponent originalNodeComponent, boolean forceDuplicate)int
Retrieves the boundary mode for the R coordinate.int
getDepth()
Retrieves the depth of this Texture3D object.void
setBoundaryModeR
(int boundaryModeR) Sets the boundary mode for the R coordinate in this texture object.Methods inherited from class javax.media.j3d.Texture
getAnisotropicFilterDegree, getAnisotropicFilterMode, getBaseLevel, getBoundaryColor, getBoundaryModeS, getBoundaryModeT, getBoundaryWidth, getEnable, getFilter4Func, getFilter4FuncPointsCount, getFormat, getHeight, getImage, getImages, getLodOffset, getMagFilter, getMaximumLevel, getMaximumLOD, getMinFilter, getMinimumLOD, getMipMapMode, getSharpenTextureFunc, getSharpenTextureFunc, getSharpenTextureFuncPointsCount, getWidth, numMipMapLevels, setAnisotropicFilterDegree, setAnisotropicFilterMode, setBaseLevel, setBoundaryColor, setBoundaryColor, setBoundaryModeS, setBoundaryModeT, setEnable, setFilter4Func, setImage, setImages, setLodOffset, setLodOffset, setMagFilter, setMaximumLevel, setMaximumLOD, setMinFilter, setMinimumLOD, setMipMapMode, setSharpenTextureFunc, setSharpenTextureFunc
Methods inherited from class javax.media.j3d.NodeComponent
cloneNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
Constructor Details
-
Texture3D
public Texture3D()Constructs a Texture3D object with default parameters. The default values are as follows:-
depth : 0
boundary mode R : WRAP
Note that the default constructor creates a texture object with a width, height, and depth of 0 and is, therefore, not useful.
-
Texture3D
public Texture3D(int mipmapMode, int format, int width, int height, int depth) Constructs an empty Texture3D object with specified mipmapMode format, width, height, and depth. Image at base level must be set by the application using 'setImage' method. If mipmapMode is set to MULTI_LEVEL_MIPMAP, images for base level through maximum level must be set. Note that a texture with a non-power-of-two width, height, or depth will only be rendered on a graphics device that supports non-power-of-two textures.- Parameters:
mipmapMode
- type of mipmap for this Texture: One of BASE_LEVEL, MULTI_LEVEL_MIPMAP.format
- data format of Textures saved in this object. One of INTENSITY, LUMINANCE, ALPHA, LUMINANCE_ALPHA, RGB, RGBA.width
- width of image at level 0.height
- height of image at level 0.depth
- depth of image at level 0.- Throws:
IllegalArgumentException
- if width, height, or depth are not greater than 0 OR invalid format/mipmapMode is specified.
-
Texture3D
public Texture3D(int mipmapMode, int format, int width, int height, int depth, int boundaryWidth) Constructs an empty Texture3D object with specified mipmapMode format, width, height, depth, and boundaryWidth. Image at base level must be set by the application using 'setImage' method. If mipmapMode is set to MULTI_LEVEL_MIPMAP, images for base level through maximum level must be set. Note that a texture with a non-power-of-two width, height, or depth will only be rendered on a graphics device that supports non-power-of-two textures.- Parameters:
mipmapMode
- type of mipmap for this Texture: One of BASE_LEVEL, MULTI_LEVEL_MIPMAP.format
- data format of Textures saved in this object. One of INTENSITY, LUMINANCE, ALPHA, LUMINANCE_ALPHA, RGB, RGBA.width
- width of image at level 0. This does not include the width of the boundary.height
- height of image at level 0. This does not include the width of the boundary.depth
- depth of image at level 0. This does not include the width of the boundary.boundaryWidth
- width of the boundary, which must be 0 or 1.- Throws:
IllegalArgumentException
- if width, height, or depth are not greater than 0 OR invalid format/mipmapMode is specified, or if the boundaryWidth is < 0 or > 1- Since:
- Java 3D 1.3
-
-
Method Details
-
setBoundaryModeR
public void setBoundaryModeR(int boundaryModeR) Sets the boundary mode for the R coordinate in this texture object.- Parameters:
boundaryModeR
- the boundary mode for the R coordinate, one of: CLAMP, WRAP, CLAMP_TO_EDGE, or CLAMP_TO_BOUNDARY- Throws:
RestrictedAccessException
- if the method is called when this object is part of live or compiled scene graph.IllegalArgumentException
- ifboundaryModeR
is a value other thanCLAMP
,WRAP
,CLAMP_TO_EDGE
, orCLAMP_TO_BOUNDARY
.
-
getBoundaryModeR
public int getBoundaryModeR()Retrieves the boundary mode for the R coordinate.- Returns:
- the current boundary mode for the R coordinate.
- Throws:
RestrictedAccessException
- if the method is called when this object is part of live or compiled scene graph.
-
getDepth
public int getDepth()Retrieves the depth of this Texture3D object.- Returns:
- the depth of this Texture3D object.
- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph- Since:
- Java 3D 1.2
-
cloneNodeComponent
Deprecated.replaced with cloneNodeComponent(boolean forceDuplicate)- Overrides:
cloneNodeComponent
in classNodeComponent
-
duplicateNodeComponent
Deprecated.replaced with duplicateNodeComponent( NodeComponent originalNodeComponent, boolean forceDuplicate)NOTE: Applications should not call this method directly. It should only be called by the cloneNode method.- Overrides:
duplicateNodeComponent
in classNodeComponent
-