| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.NodeComponent javax.media.j3d.ShaderAttribute javax.media.j3d.ShaderAttributeObject
All known Subclasses: javax.media.j3d.ShaderAttributeValue, javax.media.j3d.ShaderAttributeArray,
ShaderAttributeObject | abstract public class ShaderAttributeObject extends ShaderAttribute (Code) | | The ShaderAttributeObject class is an abstract class that
encapsulates a uniform shader attribute whose value is specified
explicitly. This class has concrete subclasses for single-value
attributes (ShaderAttributeValue) and array attributes
(ShaderAttributeArray). 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 instance of one of the
allowed classes or an array of one 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 of the value is immutable once a
ShaderAttributeObject is constructed. Subsequent setValue
operations must be called with an object of the same type as the
one that was used to construct the ShaderAttributeObject. 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 |
Field Summary | |
final public static int | ALLOW_VALUE_READ Specifies that this ShaderAttributeObject allows reading its value. | final public static int | ALLOW_VALUE_WRITE Specifies that this ShaderAttributeObject allows writing its value. |
Method Summary | |
abstract public Object | getValue() Retrieves the value of this shader attribute. | public Class | getValueClass() Retrieves the base class of the value of this shader attribute. | abstract public void | setValue(Object value) Sets the value of this shader attribute to the specified value. |
ALLOW_VALUE_READ | final public static int ALLOW_VALUE_READ(Code) | | Specifies that this ShaderAttributeObject allows reading its value.
|
ALLOW_VALUE_WRITE | final public static int ALLOW_VALUE_WRITE(Code) | | Specifies that this ShaderAttributeObject allows writing its value.
|
ShaderAttributeObject | ShaderAttributeObject(String attrName, Object value)(Code) | | Package scope constructor
|
getValue | abstract public Object getValue()(Code) | | Retrieves the value of this shader attribute.
A copy of the object is returned.
a copy of the value of this shader attribute exception: CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph |
getValueClass | public Class getValueClass()(Code) | | Retrieves the base class of the value of this shader attribute.
This class will always be one of the allowable classes, even if
a subclass was used to construct this shader attribute object.
For example, if this shader attribute object was constructed
with an instance of javax.vecmath.Point3f , the
returned class would be javax.vecmath.Tuple3f .
the base class of the value of this shader attribute exception: CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph |
setValue | abstract public void setValue(Object value)(Code) | | Sets 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 object used to construct this shaderattribute 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.NodeComponent | boolean forceDuplicate(Code)(Java Doc)
|
|
|