Package javax.media.j3d
Class ShaderAttributeValue
java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.NodeComponent
javax.media.j3d.ShaderAttribute
javax.media.j3d.ShaderAttributeObject
javax.media.j3d.ShaderAttributeValue
The ShaderAttributeValue 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 instance
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 of the
value is immutable once a ShaderAttributeValue is constructed.
Subsequent setValue operations must be called with an object of the
same type as the one that was used to construct the
ShaderAttributeValue. 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.- Since:
- Java 3D 1.4
- See Also:
-
Field Summary
Fields inherited from class javax.media.j3d.ShaderAttributeObject
ALLOW_VALUE_READ, ALLOW_VALUE_WRITE -
Constructor Summary
ConstructorsConstructorDescriptionShaderAttributeValue(String attrName, Object value) Constructs a new ShaderAttributeValue object with the specified(attrName, value)pair. -
Method Summary
Methods inherited from class javax.media.j3d.ShaderAttributeObject
getValueClassMethods inherited from class javax.media.j3d.ShaderAttribute
getAttributeNameMethods inherited from class javax.media.j3d.NodeComponent
cloneNodeComponent, cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTreeMethods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
Constructor Details
-
ShaderAttributeValue
Constructs a new ShaderAttributeValue object with the specified(attrName, value)pair. A copy of the object is stored.- Parameters:
attrName- the name of the shader attributevalue- the value of the shader attribute- Throws:
NullPointerException- if attrName or value is nullClassCastException- if value is not an instance of one of the allowed classes
-
-
Method Details
-
getValue
Description copied from class:ShaderAttributeObjectRetrieves the value of this shader attribute. A copy of the object is returned.- Specified by:
getValuein classShaderAttributeObject- Returns:
- a copy of the value of this shader attribute
-
setValue
Description copied from class:ShaderAttributeObjectSets the value of this shader attribute to the specified value. A copy of the object is stored.- Specified by:
setValuein classShaderAttributeObject- Parameters:
value- the new value of the shader attribute
-