public class ShaderAttributeArray extends ShaderAttributeObject
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.ShaderAttributeSet
,
ShaderProgram
ALLOW_VALUE_READ, ALLOW_VALUE_WRITE
Constructor and Description |
---|
ShaderAttributeArray(String attrName,
Object value)
Constructs a new ShaderAttributeArray object with the specified
(attrName, value) pair. |
Modifier and Type | Method and Description |
---|---|
Object |
getValue()
Retrieves the value of this shader attribute.
|
int |
length()
Returns the number of elements in the value array.
|
void |
setValue(int index,
Object value)
Sets the specified array element of the value of this shader
attribute to the specified value.
|
void |
setValue(Object value)
Sets the value of this shader attribute to the specified value.
|
getValueClass
getAttributeName
cloneNodeComponent, cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public ShaderAttributeArray(String attrName, Object value)
(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.attrName
- the name of the shader attributevalue
- the value of the shader attributeNullPointerException
- if attrName or value is nullClassCastException
- if value is not an array of
one of the allowed classespublic Object getValue()
ShaderAttributeObject
getValue
in class ShaderAttributeObject
public void setValue(Object value)
ShaderAttributeObject
setValue
in class ShaderAttributeObject
value
- the new value of the shader attributepublic void setValue(int index, Object value)
value
- the new value of the shader attributeNullPointerException
- if value is nullClassCastException
- if value is not an instance of
the same base class as the individual elements of the array object
used to construct this shader attribute object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic int length()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphCopyright © 2016–2022 SciJava. All rights reserved.