## javax.media.j3d
Class TextureAttributes

    java.lang.Object
      javax.media.j3d.SceneGraphObject
          javax.media.j3d.NodeComponent
              javax.media.j3d.TextureAttributes

    public class TextureAttributes

extends NodeComponent

The TextureAttributes object defines attributes that apply to texture mapping. The texture attributes include the following:

- Texture mode - defines how the object and texture colors are blended. The mode may be one of the following:

- MODULATE - modulates the incoming color with the texture color.

  C' = C Ct

- DECAL - applies the texture color to the incoming color as a decal.

  C'rgb = Crgb (1 - Cta) + Ctrgb Cta

  C'a = Ca

- BLEND - blends the texture blend color with the incoming color.

  C'rgb = Crgb (1 - Ctrgb) + Cbrgb Ctrgb

  C'a = Ca Cta

  Note that if the texture format is INTENSITY, alpha is computed identically to red, green, and blue:

  C'a = Ca (1 - Cta) + Cba Cta

- REPLACE - replaces the incoming color with the texture color.

  C' = Ct

- COMBINE - combines the object color with the texture color or texture blend color according to the combine operation as specified in the texture combine mode.

C = Incoming color to the texture unit state. For texture unit state 0, C is the object color Ct = Texture color
Cb = Texture blend color

- Combine Mode - defines the combine operation when texture mode specifies COMBINE. The combine mode includes the following:

  - COMBINE_REPLACE

    C' = C0

  - COMBINE_MODULATE

    C' = C0 C1

  - COMBINE_ADD

    C' = C0 + C1

  - COMBINE_ADD_SIGNED

    C' = C0 + C1 - 0.5

  - COMBINE_SUBTRACT

    C' = C0 - C1

  - COMBINE_INTERPOLATE

    C' = C0 C2 + C1 (1 - C2)

  - COMBINE_DOT3

    C' = 4 * ( (C0r - 0.5) * (C1r - 0.5) + (C0g - 0.5) * (C1g - 0.5) + (C0b - 0.5) * (C1b - 0.5))

    where CNx is the x component of the Nth color operand in the combine operation.

    The value C' will be placed to the all three r,g,b components or the a component of the output.

where C0, C1 and C2 are determined by the color source, and the color operand.

- Combine Color Source - defines the source for a color operand in the combine operation. The color source includes the following:

  - COMBINE_OBJECT_COLOR - object color

  - COMBINE_TEXTURE_COLOR - texture color

  - COMBINE_CONSTANT_COLOR - texture blend color

  - COMBINE_PREVIOUS_TEXTURE_UNIT_STATE - color from the previous texture unit state. For texture unit state 0, this is equivalent to COMBINE_OBJECT_COLOR.

- Combine Color Function - specifies the function for a color operand in the combine operation. The valid values are:

  - COMBINE_SRC_COLOR - the color function is f = Crgb

  - COMBINE_ONE_MINUS_SRC_COLOR - the color function is f = (1 - Crgb)

  - COMBINE_SRC_ALPHA - the color function is f = Ca

  - COMBINE_ONE_MINUS_SRC_ALPHA - the color function is f = (1 - Ca)

- Combine scale factor - specifies the scale factor to be applied to the output color of the combine operation. The valid values include: 1, 2, or 4.

- Transform - the texture transform object used to transform texture coordinates. The texture transform can translate, scale, or rotate the texture coordinates before the texture is applied to the object.

- Blend color - the constant texture blend color

- Perspective correction - the perspective correction mode used for color and texture coordinate interpolation. One of the following:

- NICEST - uses the nicest (highest quality) available method for texture mapping perspective correction.

- FASTEST - uses the fastest available method for texture mapping perspective correction.

- Texture color table - defines a table that is used to look up texture colors before applying the texture mode.

See Also:
  `Appearance`, `Canvas3D.queryProperties()`

Field Summary
`static int` `ALLOW_BLEND_COLOR_READ` Specifies that this TextureAttributes object allows reading its texture blend color component information.
`static int` `ALLOW_BLEND_COLOR_WRITE` Specifies that this TextureAttributes object allows writing its texture blend color component information.
`static int` `ALLOW_COLOR_TABLE_READ` Specifies that this TextureAttributes object allows reading its texture color table component information.
`static int` `ALLOW_COLOR_TABLE_WRITE` Specifies that this TextureAttributes object allows writing its texture color table component information.
`static int` `ALLOW_COMBINE_READ` Specifies that this TextureAttributes object allows reading its texture combine mode information.
`static int` `ALLOW_COMBINE_WRITE` Specifies that this TextureAttributes object allows writing its texture combine mode information.
`static int` `ALLOW_MODE_READ` Specifies that this TextureAttributes object allows reading its texture mode component information and perspective correction mode.
`static int` `ALLOW_MODE_WRITE` Specifies that this TextureAttributes object allows writing its texture mode component information and perspective correction mode.
`static int` `ALLOW_TRANSFORM_READ` Specifies that this TextureAttributes object allows reading its texture transform component information.
`static int` `ALLOW_TRANSFORM_WRITE` Specifies that this TextureAttributes object allows writing its texture transform component information.
`static int` `BLEND` Blend the texture blend color with the object color.
`static int` `COMBINE` Combine the object color with texture color as specified in the combine mode.
`static int` `COMBINE_ADD` Add two colors.
`static int` `COMBINE_ADD_SIGNED` Add two colors plus an implicit offset.
`static int` `COMBINE_CONSTANT_COLOR` Texture blend color.
`static int` `COMBINE_DOT3` Dot product of two colors.
`static int` `COMBINE_INTERPOLATE` Interpolate two colors with a factor.
`static int` `COMBINE_MODULATE` Modulates one color with another color.
`static int` `COMBINE_OBJECT_COLOR` Object color coming into the texturing state.
`static int` `COMBINE_ONE_MINUS_SRC_ALPHA` Color function is f = (1 - Ca)
`static int` `COMBINE_ONE_MINUS_SRC_COLOR` Color function is f = (1 - Crgb)
`static int` `COMBINE_PREVIOUS_TEXTURE_UNIT_STATE` Color from the previous texture unit state.
`static int` `COMBINE_REPLACE` Replace the input color with the specified color.
`static int` `COMBINE_SRC_ALPHA` Color function is f = Ca
`static int` `COMBINE_SRC_COLOR` Color function is f = Crgb
`static int` `COMBINE_SUBTRACT` Subtract one color from another color.
`static int` `COMBINE_TEXTURE_COLOR` Texture color of the corresponding texture unit state.
`static int` `DECAL` Apply the texture color to the object as a decal.
`static int` `FASTEST` Use the fastest available method for perspective correction.
`static int` `MODULATE` Modulate the object color with the texture color.
`static int` `NICEST` Use the nicest (highest quality) available method for texture mapping perspective correction.
`static int` `REPLACE` Replace the object color with the texture color.

Constructor Summary
`TextureAttributes()` Constructs a TextureAttributes object with default parameters.
`TextureAttributes(int textureMode, Transform3D transform, Color4f textureBlendColor, int perspCorrectionMode)` Constructs a TextureAttributes object with the specified values.

Method Summary
`NodeComponent` `cloneNodeComponent()` Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate)
`int` `getCombineAlphaFunction(int index)` Retrieves the function for the alpha component of the specified color operand for this object.
`int` `getCombineAlphaMode()` Retrieves the combine mode for the alpha component of the output color for this object.
`int` `getCombineAlphaScale()` Retrieves the scale factor for the alpha component of the output color for this object.
`int` `getCombineAlphaSource(int index)` Retrieves the source for the alpha component of the specified color operand for this object.
`int` `getCombineRgbFunction(int index)` Retrieves the function for the rgb components of the specified color operand for this object.
`int` `getCombineRgbMode()` Retrieves the combine mode for the rgb components of the output color for this object.
`int` `getCombineRgbScale()` Retrieves the scale factor for the rgb components of the output color for this object.
`int` `getCombineRgbSource(int index)` Retrieves the source for the rgb components of the specified color operand for this object.
`int` `getNumTextureColorTableComponents()` Retrieves the number of color components in the current texture color table.
`int` `getPerspectiveCorrectionMode()` Gets perspective correction mode value.
`void` `getTextureBlendColor(Color4f textureBlendColor)` Gets the texture blend color for this appearance component object.
`void` `getTextureColorTable(int[][] table)` Retrieves the texture color table and copies it into the specified array.
`int` `getTextureColorTableSize()` Retrieves the size of the current texture color table.
`int` `getTextureMode()` Gets the texture mode parameter for this texture attributes object.
`void` `getTextureTransform(Transform3D transform)` Retrieves a copy of the texture transform object.
`void` `setCombineAlphaFunction(int index, int function)` Sets the function for the alpha component of the specified color operand for this object.
`void` `setCombineAlphaMode(int combineMode)` Sets the combine mode for the alpha component of the output color for this object.
`void` `setCombineAlphaScale(int scale)` Sets the scale factor for the alpha component of the output color for this object.
`void` `setCombineAlphaSource(int index, int src)` Sets the source for the alpha component of the specified color operand for this object.
`void` `setCombineRgbFunction(int index, int function)` Sets the function for the rgb components of the specified color operand for this object.
`void` `setCombineRgbMode(int combineMode)` Sets the combine mode for the rgb components of the output color for this object.
`void` `setCombineRgbScale(int scale)` Sets the scale factor for the rgb components of the output color for this object.
`void` `setCombineRgbSource(int index, int src)` Sets the source for the rgb components of the specified color operand for this object.
`void` `setPerspectiveCorrectionMode(int mode)` Sets perspective correction mode to be used for color and/or texture coordinate interpolation.
`void` `setTextureBlendColor(Color4f textureBlendColor)` Sets the texture constant color for this texture attributes object.
`void` `setTextureBlendColor(float r, float g, float b, float a)` Sets the texture blend color for this appearance component object.
`void` `setTextureColorTable(int[][] table)` Sets the texture color table from the specified table.
`void` `setTextureMode(int textureMode)` Sets the texture mode parameter for this appearance component object.
`void` `setTextureTransform(Transform3D transform)` Sets the texture transform object used to transform texture coordinates.

Methods inherited from class javax.media.j3d.NodeComponent
`cloneNodeComponent, duplicateNodeComponent, 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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### ALLOW_MODE_READ

    public static final int ALLOW_MODE_READ

  Specifies that this TextureAttributes object allows reading its texture mode component information and perspective correction mode.

  See Also:
    Constant Field Values

### ALLOW_MODE_WRITE

    public static final int ALLOW_MODE_WRITE

  Specifies that this TextureAttributes object allows writing its texture mode component information and perspective correction mode.

  See Also:
    Constant Field Values

### ALLOW_BLEND_COLOR_READ

    public static final int ALLOW_BLEND_COLOR_READ

  Specifies that this TextureAttributes object allows reading its texture blend color component information.

  See Also:
    Constant Field Values

### ALLOW_BLEND_COLOR_WRITE

    public static final int ALLOW_BLEND_COLOR_WRITE

  Specifies that this TextureAttributes object allows writing its texture blend color component information.

  See Also:
    Constant Field Values

### ALLOW_TRANSFORM_READ

    public static final int ALLOW_TRANSFORM_READ

  Specifies that this TextureAttributes object allows reading its texture transform component information.

  See Also:
    Constant Field Values

### ALLOW_TRANSFORM_WRITE

    public static final int ALLOW_TRANSFORM_WRITE

  Specifies that this TextureAttributes object allows writing its texture transform component information.

  See Also:
    Constant Field Values

### ALLOW_COLOR_TABLE_READ

    public static final int ALLOW_COLOR_TABLE_READ

  Specifies that this TextureAttributes object allows reading its texture color table component information.

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

### ALLOW_COLOR_TABLE_WRITE

    public static final int ALLOW_COLOR_TABLE_WRITE

  Specifies that this TextureAttributes object allows writing its texture color table component information.

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

### ALLOW_COMBINE_READ

    public static final int ALLOW_COMBINE_READ

  Specifies that this TextureAttributes object allows reading its texture combine mode information. (e.g. combine mode, combine color source, combine color function, combine scale factor)

  Since:
    Java 3D 1.3
  See Also:
    Constant Field Values

### ALLOW_COMBINE_WRITE

    public static final int ALLOW_COMBINE_WRITE

  Specifies that this TextureAttributes object allows writing its texture combine mode information. (e.g. combine mode, combine color source, combine color function, combine scale factor)

  Since:
    Java 3D 1.3
  See Also:
    Constant Field Values

### FASTEST

    public static final int FASTEST

  Use the fastest available method for perspective correction.

  See Also:
    `setPerspectiveCorrectionMode(int)`, Constant Field Values

### NICEST

    public static final int NICEST

  Use the nicest (highest quality) available method for texture mapping perspective correction.

  See Also:
    `setPerspectiveCorrectionMode(int)`, Constant Field Values

### MODULATE

    public static final int MODULATE

  Modulate the object color with the texture color.

  See Also:
    `setTextureMode(int)`, Constant Field Values

### DECAL

    public static final int DECAL

  Apply the texture color to the object as a decal.

  See Also:
    `setTextureMode(int)`, Constant Field Values

### BLEND

    public static final int BLEND

  Blend the texture blend color with the object color.

  See Also:
    `setTextureMode(int)`, Constant Field Values

### REPLACE

    public static final int REPLACE

  Replace the object color with the texture color.

  See Also:
    `setTextureMode(int)`, Constant Field Values

### COMBINE

    public static final int COMBINE

  Combine the object color with texture color as specified in the combine mode.

  Since:
    Java 3D 1.3
  See Also:
    `setTextureMode(int)`, Constant Field Values

### COMBINE_REPLACE

    public static final int COMBINE_REPLACE

  Replace the input color with the specified color.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_MODULATE

    public static final int COMBINE_MODULATE

  Modulates one color with another color.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_ADD

    public static final int COMBINE_ADD

  Add two colors.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_ADD_SIGNED

    public static final int COMBINE_ADD_SIGNED

  Add two colors plus an implicit offset.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_SUBTRACT

    public static final int COMBINE_SUBTRACT

  Subtract one color from another color.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_INTERPOLATE

    public static final int COMBINE_INTERPOLATE

  Interpolate two colors with a factor.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_DOT3

    public static final int COMBINE_DOT3

  Dot product of two colors.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbMode(int)`, `setCombineAlphaMode(int)`, Constant Field Values

### COMBINE_OBJECT_COLOR

    public static final int COMBINE_OBJECT_COLOR

  Object color coming into the texturing state.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbSource(int, int)`, `setCombineAlphaSource(int, int)`, Constant Field Values

### COMBINE_TEXTURE_COLOR

    public static final int COMBINE_TEXTURE_COLOR

  Texture color of the corresponding texture unit state.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbSource(int, int)`, `setCombineAlphaSource(int, int)`, Constant Field Values

### COMBINE_CONSTANT_COLOR

    public static final int COMBINE_CONSTANT_COLOR

  Texture blend color.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbSource(int, int)`, `setCombineAlphaSource(int, int)`, Constant Field Values

### COMBINE_PREVIOUS_TEXTURE_UNIT_STATE

    public static final int COMBINE_PREVIOUS_TEXTURE_UNIT_STATE

  Color from the previous texture unit state.

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbSource(int, int)`, `setCombineAlphaSource(int, int)`, Constant Field Values

### COMBINE_SRC_COLOR

    public static final int COMBINE_SRC_COLOR

  Color function is f = Crgb

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbFunction(int, int)`, Constant Field Values

### COMBINE_ONE_MINUS_SRC_COLOR

    public static final int COMBINE_ONE_MINUS_SRC_COLOR

  Color function is f = (1 - Crgb)

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbFunction(int, int)`, Constant Field Values

### COMBINE_SRC_ALPHA

    public static final int COMBINE_SRC_ALPHA

  Color function is f = Ca

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbFunction(int, int)`, `setCombineAlphaFunction(int, int)`, Constant Field Values

### COMBINE_ONE_MINUS_SRC_ALPHA

    public static final int COMBINE_ONE_MINUS_SRC_ALPHA

  Color function is f = (1 - Ca)

  Since:
    Java 3D 1.3
  See Also:
    `setCombineRgbFunction(int, int)`, `setCombineAlphaFunction(int, int)`, Constant Field Values

Constructor Detail

### TextureAttributes

    public TextureAttributes()

  Constructs a TextureAttributes object with default parameters. The default values are as follows:
  texture mode : REPLACE
  blend color : black (0,0,0,0)
  transform : identity
  perspective correction mode : NICEST
  texture color table : null
  combine rgb mode : COMBINE_MODULATE
  combine alpha mode : COMBINE_MODULATE
  combine rgb source :
  C0=COMBINE_TEXTURE_COLOR
  C1=COMBINE_PREVIOUS_TEXTURE_UNIT_STATE
  C2=COMBINE_CONSTANT_COLOR
  combine alpha source :
  C0=COMBINE_TEXTURE_COLOR
  C1=COMBINE_PREVIOUS_TEXTURE_UNIT_STATE
  C2=COMBINE_CONSTANT_COLOR
  combine rgb function : COMBINE_SRC_COLOR
  combine alpha function : COMBINE_SRC_ALPHA
  combine rgb scale : 1
  combine alpha scale : 1

### TextureAttributes

    public TextureAttributes(int textureMode,
                             Transform3D transform,
                             Color4f textureBlendColor,
                             int perspCorrectionMode)

  Constructs a TextureAttributes object with the specified values.

  Parameters:
    `textureMode` - the texture mode; one of `MODULATE`, `DECAL`, `BLEND`, `REPLACE`, or `COMBINE`
    `transform` - the transform object, used to transform texture coordinates
    `textureBlendColor` - the texture constant color
    `perspCorrectionMode` - the perspective correction mode to be used for color and/or texture coordinate interpolation; one of `NICEST` or `FASTEST`
  Throws:
    `java.lang.IllegalArgumentException` - if `textureMode` is a value other than `MODULATE`, `DECAL`, `BLEND`, `REPLACE`, or `COMBINE`
    `java.lang.IllegalArgumentException` - if mode value is other than `FASTEST` or `NICEST`.

Method Detail

### setTextureMode

    public void setTextureMode(int textureMode)

  Sets the texture mode parameter for this appearance component object.

  Parameters:
    `textureMode` - the texture mode, one of: `MODULATE`, `DECAL`, `BLEND`, `REPLACE`, or `COMBINE`
  Throws:
    `java.lang.IllegalArgumentException` - if `textureMode` is a value other than `MODULATE`, `DECAL`, `BLEND`, `REPLACE`, or `COMBINE`
  See Also:
    `Canvas3D.queryProperties()`

### getTextureMode

    public int getTextureMode()

  Gets the texture mode parameter for this texture attributes object.

  Returns:
    textureMode the texture mode
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### setTextureBlendColor

    public void setTextureBlendColor(Color4f textureBlendColor)

  Sets the texture constant color for this texture attributes object.

  Parameters:
    `textureBlendColor` - the texture constant color
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### setTextureBlendColor

    public void setTextureBlendColor(float r,
                                     float g,
                                     float b,
                                     float a)

  Sets the texture blend color for this appearance component object.

  Parameters:
    `r` - the red component of the color
    `g` - the green component of the color
    `b` - the blue component of the color
    `a` - the alpha component of the color
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### getTextureBlendColor

    public void getTextureBlendColor(Color4f textureBlendColor)

  Gets the texture blend color for this appearance component object.

  Parameters:
    `textureBlendColor` - the vector that will receive the texture constant color
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### setTextureTransform

    public void setTextureTransform(Transform3D transform)

  Sets the texture transform object used to transform texture coordinates. A copy of the specified Transform3D object is stored in this TextureAttributes object.

  Parameters:
    `transform` - the new transform object
  Throws:
    `CapabilityNotSetException` - if the method is called when this object is part of live or compiled scene graph.

### getTextureTransform

    public void getTextureTransform(Transform3D transform)

  Retrieves a copy of the texture transform object.

  Parameters:
    `transform` - the transform object that will receive the current texture transform
  Throws:
    `CapabilityNotSetException` - if the method is called when this object is part of live or compiled scene graph.

### setPerspectiveCorrectionMode

    public void setPerspectiveCorrectionMode(int mode)

  Sets perspective correction mode to be used for color and/or texture coordinate interpolation. A value of `NICEST` indicates that perspective correction should be performed and that the highest quality method should be used. A value of `FASTEST` indicates that the most efficient perspective correction method should be used.

  Parameters:
    `mode` - one of `NICEST` or `FASTEST` The default value is `NICEST`.
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
    `java.lang.IllegalArgumentException` - if mode value is other than `FASTEST` or `NICEST`.

### getPerspectiveCorrectionMode

    public int getPerspectiveCorrectionMode()

  Gets perspective correction mode value.

  Returns:
    mode the value of perspective correction mode
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### setTextureColorTable

    public void setTextureColorTable(int[][] table)

  Sets the texture color table from the specified table. The individual integer array elements are copied. The array is indexed first by color component (r, g, b, and a, respectively) and then by color value; `table.length` defines the number of color components and `table[0].length` defines the texture color table size. If the table is non-null, the number of color components must either be 3, for rgb data, or 4, for rgba data. The size of each array for each color component must be the same and must be a power of 2. If table is null or if the texture color table size is 0, the texture color table is disabled. If the texture color table size is greater than the device-dependent maximum texture color table size for a particular Canvas3D, the texture color table is ignored for that canvas.

  When enabled, the texture color table is applied after the texture filtering operation and before texture application. Each of the r, g, b, and a components are clamped to the range [0,1], multiplied by `textureColorTableSize-1`, and rounded to the nearest integer. The resulting value for each component is then used as an index into the respective table for that component. If the texture color table contains 3 components, alpha is passed through unmodified.

  Parameters:
    `table` - the new texture color table
  Throws:
    `java.lang.IllegalArgumentException` - if `table.length` is not 3 or 4, or if the arrays for each component are not all the same length, or if the texture color table size is not a power of 2
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.2
  See Also:
    `Canvas3D.queryProperties()`

### getTextureColorTable

    public void getTextureColorTable(int[][] table)

  Retrieves the texture color table and copies it into the specified array. If the current texture color table is null, no values are copied.

  Parameters:
    `table` - the array that will receive a copy of the texture color table from this TextureAttributes object. The array must be allocated by the caller and must be large enough to hold the entire table (that is, `int[numTextureColorTableComponents][textureColorTableSize]`).
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.2

### getNumTextureColorTableComponents

    public int getNumTextureColorTableComponents()

  Retrieves the number of color components in the current texture color table. A value of 0 is returned if the texture color table is null.

  Returns:
    the number of color components in the texture color table, or 0 if the table is null
  Since:
    Java 3D 1.2

### getTextureColorTableSize

    public int getTextureColorTableSize()

  Retrieves the size of the current texture color table. A value of 0 is returned if the texture color table is null.

  Returns:
    the size of the texture color table, or 0 if the table is null
  Since:
    Java 3D 1.2

### setCombineRgbMode

    public void setCombineRgbMode(int combineMode)

  Sets the combine mode for the rgb components of the output color for this object.

  Parameters:
    `combineMode` - the combine mode, one of: `COMBINE_REPLACE`, `COMBINE_MODULATE`, `COMBINE_ADD`, `COMBINE_ADD_SIGNED`, `COMBINE_SUBTRACT`, `COMBINE_INTERPOLATE`, or `COMBINE_DOT3`
  Throws:
    `java.lang.IllegalArgumentException` - if `combineMode` is a value other than `COMBINE_REPLACE`, `COMBINE_MODULATE`, `COMBINE_ADD`, `COMBINE_ADD_SIGNED`, `COMBINE_SUBTRACT`, `COMBINE_INTERPOLATE`, or `COMBINE_DOT3`
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### setCombineAlphaMode

    public void setCombineAlphaMode(int combineMode)

  Sets the combine mode for the alpha component of the output color for this object.

  Parameters:
    `combineMode` - the combine mode, one of: `COMBINE_REPLACE`, `COMBINE_MODULATE`, `COMBINE_ADD`, `COMBINE_ADD_SIGNED`, `COMBINE_SUBTRACT`, `COMBINE_INTERPOLATE`, or `COMBINE_DOT3`
  Throws:
    `java.lang.IllegalArgumentException` - if `combineMode` is a value other than `COMBINE_REPLACE`, `COMBINE_MODULATE`, `COMBINE_ADD`, `COMBINE_ADD_SIGNED`, `COMBINE_SUBTRACT`, `COMBINE_INTERPOLATE`, or `COMBINE_DOT3`
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### getCombineRgbMode

    public int getCombineRgbMode()

  Retrieves the combine mode for the rgb components of the output color for this object.

  Returns:
    the combine mode for the rgb components.
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### getCombineAlphaMode

    public int getCombineAlphaMode()

  Retrieves the combine mode for the alpha component of the output color for this object.

  Returns:
    the combine mode for the alpha component.
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### setCombineRgbSource

    public void setCombineRgbSource(int index,
                                    int src)

  Sets the source for the rgb components of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
    `src` - the color source, one of: `COMBINE_OBJECT_COLOR`, `COMBINE_TEXTURE_COLOR`, `COMBINE_CONSTANT_COLOR`, or `COMBINE_PREVIOUS_TEXTURE_UNIT_STATE`
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `java.lang.IllegalArgumentException` - if `src` is a value other than `COMBINE_OBJECT_COLOR`, `COMBINE_TEXTURE_COLOR`, `COMBINE_CONSTANT_COLOR`, or `COMBINE_PREVIOUS_TEXTURE_UNIT_STATE`
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### setCombineAlphaSource

    public void setCombineAlphaSource(int index,
                                      int src)

  Sets the source for the alpha component of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
    `src` - the color source, one of: `COMBINE_OBJECT_COLOR`, `COMBINE_TEXTURE_COLOR`, `COMBINE_CONSTANT_COLOR`, or `COMBINE_PREVIOUS_TEXTURE_UNIT_STATE`
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `java.lang.IllegalArgumentException` - if `src` is a value other than `COMBINE_OBJECT_COLOR`, `COMBINE_TEXTURE_COLOR`, `COMBINE_CONSTANT_COLOR`, or `COMBINE_PREVIOUS_TEXTURE_UNIT_STATE`
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### getCombineRgbSource

    public int getCombineRgbSource(int index)

  Retrieves the source for the rgb components of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
  Returns:
    the source for the rgb components of the specified color operand for this object
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### getCombineAlphaSource

    public int getCombineAlphaSource(int index)

  Retrieves the source for the alpha component of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
  Returns:
    the source for the alpha component of the specified color operand for this object
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### setCombineRgbFunction

    public void setCombineRgbFunction(int index,
                                      int function)

  Sets the function for the rgb components of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
    `function` - the color function, one of: `COMBINE_SRC_COLOR`, `COMBINE_ONE_MINUS_SRC_COLOR`, `COMBINE_SRC_ALPHA`, or `COMBINE_ONE_MINUS_SRC_ALPHA`
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `java.lang.IllegalArgumentException` - if `function` is a value other than `COMBINE_SRC_COLOR`, `COMBINE_ONE_MINUS_SRC_COLOR`, `COMBINE_SRC_ALPHA`, or `COMBINE_ONE_MINUS_SRC_ALPHA`
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### setCombineAlphaFunction

    public void setCombineAlphaFunction(int index,
                                        int function)

  Sets the function for the alpha component of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
    `function` - the color function, one of: `COMBINE_SRC_ALPHA`, or `COMBINE_ONE_MINUS_SRC_ALPHA`
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `java.lang.IllegalArgumentException` - if `function` is a value other than `COMBINE_SRC_ALPHA` or `COMBINE_ONE_MINUS_SRC_ALPHA`
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### getCombineRgbFunction

    public int getCombineRgbFunction(int index)

  Retrieves the function for the rgb components of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
  Returns:
    the function for the rgb components of the specified color operand for this object.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### getCombineAlphaFunction

    public int getCombineAlphaFunction(int index)

  Retrieves the function for the alpha component of the specified color operand for this object.

  Parameters:
    `index` - color operand in the combine operation
  Returns:
    the function for the alpha component of the specified color operand for this object.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` < 0 or `index` > 2
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### setCombineRgbScale

    public void setCombineRgbScale(int scale)

  Sets the scale factor for the rgb components of the output color for this object.

  Parameters:
    `scale` - the scale factor for the rgb components of the output color. It must be one of the following: 1, 2, or 4.
  Throws:
    `java.lang.IllegalArgumentException` - if `scale` is a value other than 1, 2, or 4.
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### setCombineAlphaScale

    public void setCombineAlphaScale(int scale)

  Sets the scale factor for the alpha component of the output color for this object.

  Parameters:
    `scale` - the scale factor for the alpha component of the output color. It must be one of the following: 1, 2, or 4.
  Throws:
    `java.lang.IllegalArgumentException` - if `scale` is a value other than 1, 2, or 4.
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3
  See Also:
    `Canvas3D.queryProperties()`

### getCombineRgbScale

    public int getCombineRgbScale()

  Retrieves the scale factor for the rgb components of the output color for this object.

  Returns:
    the scale factor for the rgb components of the output color
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### getCombineAlphaScale

    public int getCombineAlphaScale()

  Retrieves the scale factor for the alpha component of the output color for this object.

  Returns:
    the scale factor for the alpha component of the output color
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph
  Since:
    Java 3D 1.3

### cloneNodeComponent

    public NodeComponent cloneNodeComponent()

  Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate)

  Overrides:
    `cloneNodeComponent` in class `NodeComponent`

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.