| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.NodeComponent javax.media.j3d.ShaderAttribute javax.media.j3d.ShaderAttributeObject javax.media.j3d.ShaderAttributeArray
ShaderAttributeArray | public class ShaderAttributeArray extends ShaderAttributeObject (Code) | | The ShaderAttributeArray object encapsulates a uniform shader
attribute whose value is specified explicitly. The shader variable
attrName is explicitly set to the specified
value during rendering. attrName must be
the name of a valid uniform attribute in the shader in which it is
used. Otherwise, the attribute name will be ignored and a runtime
error may be generated. The value must be an array
of one of the allowed classes. The allowed classes are:
Integer[] , Float[] ,
Tuple{2,3,4}{i,f}[] , Matrix{3,4}f[] . A
ClassCastException will be thrown if a specified value
object is not one of the allowed types. Further, the type and length of the
value is immutable once a ShaderAttributeArray is constructed.
Subsequent setValue operations must be called with an array of the
same type and length as the one that was used to construct the
ShaderAttributeArray. Finally, the type of the value
object must match the type of the corresponding
attrName variable in the shader in which it is
used. Otherwise, the shader will not be able to use the attribute
and a runtime error may be generated.
See Also: ShaderAttributeSet See Also: ShaderProgram since: Java 3D 1.4 |
Constructor Summary | |
public | ShaderAttributeArray(String attrName, Object value) Constructs a new ShaderAttributeArray object with the specified
(attrName, value) pair. |
Method Summary | |
void | createRetained() Creates a retained mode ShaderAttributeArrayRetained object that this
ShaderAttributeArray component object will point to. | public Object | getValue() | public int | length() Returns the number of elements in the value array. | public void | setValue(Object value) | public void | setValue(int index, Object value) Sets the specified array element of the value of this shader
attribute to the specified value. |
ShaderAttributeArray | public ShaderAttributeArray(String attrName, Object value)(Code) | | Constructs a new ShaderAttributeArray object with the specified
(attrName, value) pair. The specified value
must be an array of one of the allowed class types.
A deep copy of the array is stored.
Parameters: attrName - the name of the shader attribute Parameters: value - the value of the shader attribute exception: NullPointerException - if attrName or value is null exception: ClassCastException - if value is not an array ofone of the allowed classes |
createRetained | void createRetained()(Code) | | Creates a retained mode ShaderAttributeArrayRetained object that this
ShaderAttributeArray component object will point to.
|
length | public int length()(Code) | | Returns the number of elements in the value array.
the number of elements in the value array exception: CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph |
setValue | public void setValue(int index, Object value)(Code) | | Sets the specified array element of the value of this shader
attribute to the specified value.
A copy of the object is stored.
Parameters: value - the new value of the shader attribute exception: NullPointerException - if value is null exception: ClassCastException - if value is not an instance ofthe same base class as the individual elements of the array objectused to construct this shader attribute object. exception: CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph |
Fields inherited from javax.media.j3d.ShaderAttributeObject | final public static int ALLOW_VALUE_READ(Code)(Java Doc) final public static int ALLOW_VALUE_WRITE(Code)(Java Doc)
|
Fields inherited from javax.media.j3d.NodeComponent | boolean forceDuplicate(Code)(Java Doc)
|
|
|