Package javax.media.j3d

# Class ShaderAttribute

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

Direct Known Subclasses:
  `ShaderAttributeBinding`, `ShaderAttributeObject`

public abstract class ShaderAttribute extends NodeComponent
The ShaderAttribute object encapsulates a uniform attribute for a shader programs. Uniform attributes (variables) are those attributes whose values are constant during the rendering of a primitive. Their values may change from primitive to primitive, but are constant for each vertex (for vertex shaders) or fragment (for fragment shaders) of a single primitive. Examples of uniform attributes include a transformation matrix, a texture map, lights, lookup tables, etc.

There are two ways in which values can be specified for uniform attributes: explicitly, by providing a value; and implicitly, by defining a binding between a Java 3D system attribute and a uniform attribute. This functionality is provided by two subclasses of ShaderAttribute as follows:

- ShaderAttributeObject, in which attributes are expressed as `(attrName, value)` pairs, is used for explicitly defined attributes
- ShaderAttributeBinding, in which attributes are expressed as `(attrName, j3dAttrName)` pairs, is used for implicitly defined, automatically tracked attributes

Since:
  Java 3D 1.4
See Also:
  - `ShaderAttributeSet`
  - `ShaderProgram`

## Method Summary

Modifier and Type
Method
Description
`String`
`getAttributeName()`
Retrieves the name of this shader attribute.

### Methods inherited from class javax.media.j3d.NodeComponent

`cloneNodeComponent, 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`

## Method Details

### getAttributeName

public String getAttributeName()
Retrieves the name of this shader attribute.

Returns:
  the name of this shader attribute