j3d.org Aviatrix3D

org.j3d.aviatrix3d
Class ByteTextureComponent3D

java.lang.Object
  extended byorg.j3d.aviatrix3d.SceneGraphObject
      extended byorg.j3d.aviatrix3d.NodeComponent
          extended byorg.j3d.aviatrix3d.TextureComponent
              extended byorg.j3d.aviatrix3d.TextureComponent3D
                  extended byorg.j3d.aviatrix3d.ByteTextureComponent3D

public class ByteTextureComponent3D
extends TextureComponent3D

A texture component that wraps a 3D image described as a collection of bytes.

Byte array format
Images are presented in terms of bytes. Per pixel format is described by the format parameter that can be found on the various method calls. Bytes are laid down in a single contiguous array for 3D images in the format of width, height, depth. That is, all the bytes for the first row of the first image, then the second row of the first image, etc until the first depth layer is complete (depth 0), then the second image starts etc. Unless the video hardware supports non-power-of-2 textures, the width and height must be powers of 2 and the depth must be an even number.

Version:
$Revision: 1.4 $
Author:
Justin Couch

Field Summary
 
Fields inherited from class org.j3d.aviatrix3d.TextureComponent3D
depth, height
 
Fields inherited from class org.j3d.aviatrix3d.TextureComponent
data, format, FORMAT_BGR, FORMAT_BGRA, FORMAT_INTENSITY_ALPHA, FORMAT_RGB, FORMAT_RGBA, FORMAT_SINGLE_COMPONENT, invertY, numLevels, size, type, TYPE_BYTE, TYPE_INT, width
 
Fields inherited from class org.j3d.aviatrix3d.NodeComponent
liveCount
 
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject
alive, updateHandler, WRITE_TIMING_MSG
 
Constructor Summary
ByteTextureComponent3D()
          Constructs an image with default values.
ByteTextureComponent3D(boolean yUp)
          Constructs an image with default values.
ByteTextureComponent3D(int format, int width, int height, int depth, byte[] srcPixels)
          Constructs an 3D texture component using the specified format, width, height and a single (BASE_LEVEL) mip-map image.
ByteTextureComponent3D(int format, int width, int height, int depth, byte[][] srcPixels, int numLevels)
          Constructs an 3D texture component using the specified format, width, height and one or more mip-map levels.
ByteTextureComponent3D(int format, int width, int height, int depth, byte[][] srcPixels, int numLevels, boolean yUp)
          Constructs an Image3D using the specified format, width, height and rendered image.
 
Method Summary
protected  java.nio.ByteBuffer convertImage(int level)
          Convenience method to convert a buffered image into a NIO array of the corresponding type.
 int getDepth()
          Get the current depth of the image component.
 void updateSubImage(int srcX, int srcY, int destX, int destY, int widht, int height, int depth, int lvl, byte[] img)
          Update a sub-section of the image data with the new pixel values.
 
Methods inherited from class org.j3d.aviatrix3d.TextureComponent3D
getHeight
 
Methods inherited from class org.j3d.aviatrix3d.TextureComponent
clearData, getData, getFormat, getNumLevels, getWidth, isYUp
 
Methods inherited from class org.j3d.aviatrix3d.NodeComponent
addParent, getParents, hasChanged, numParents, removeParent, renderState, restoreState
 
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject
checkForCyclicChild, checkForCyclicParent, dataChanged, getUserData, isLive, setLive, setUpdateHandler, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteTextureComponent3D

public ByteTextureComponent3D()
Constructs an image with default values.


ByteTextureComponent3D

public ByteTextureComponent3D(boolean yUp)
Constructs an image with default values.

Parameters:
yUp - Change the image aroud the Y axis if needed

ByteTextureComponent3D

public ByteTextureComponent3D(int format,
                              int width,
                              int height,
                              int depth,
                              byte[] srcPixels)
Constructs an 3D texture component using the specified format, width, height and a single (BASE_LEVEL) mip-map image.

Parameters:
format - The image format. RGB, RGBA currently
width - The width of the image
height - The height of the image
srcPixels - The image data. See class header for format info.

ByteTextureComponent3D

public ByteTextureComponent3D(int format,
                              int width,
                              int height,
                              int depth,
                              byte[][] srcPixels,
                              int numLevels)
Constructs an 3D texture component using the specified format, width, height and one or more mip-map levels.

Parameters:
format - The image format. RGB, RGBA currently
width - The width of the image
height - The height of the image
srcPixels - The image data

ByteTextureComponent3D

public ByteTextureComponent3D(int format,
                              int width,
                              int height,
                              int depth,
                              byte[][] srcPixels,
                              int numLevels,
                              boolean yUp)
Constructs an Image3D using the specified format, width, height and rendered image.

Parameters:
format - The image format. RGB, RGBA currently
width - The width of the image
height - The height of the image
srcPixels - The image data
yUp - Change the image aroud the Y axis if needed
Method Detail

updateSubImage

public void updateSubImage(int srcX,
                           int srcY,
                           int destX,
                           int destY,
                           int widht,
                           int height,
                           int depth,
                           int lvl,
                           byte[] img)
                    throws InvalidWriteTimingException
Update a sub-section of the image data with the new pixel values. Not implemented yet.

Parameters:
srcX - The starting X offset in the existing image space
srcY - The starting Y offset in the existing image space
destX - The starting X offset in the existing image space
destY - The starting Y offset in the existing image space
height - The height of the section to replace
img - The image to take data from
Throws:
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener callback method

getDepth

public int getDepth()
Get the current depth of the image component.

Overrides:
getDepth in class TextureComponent3D
Returns:
A value >= 0

convertImage

protected java.nio.ByteBuffer convertImage(int level)
Convenience method to convert a buffered image into a NIO array of the corresponding type. Images typically need to be swapped when doing this by the Y axis is in the opposite direction to the one used by OpenGL.

Specified by:
convertImage in class TextureComponent
Parameters:
level - Which image level needs to be converted
Returns:
an appropriate array type - either IntBuffer or ByteBuffer

j3d.org Aviatrix3D

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - j3d.org