public abstract class ShaderAttributeObject extends ShaderAttribute
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.ShaderAttributeSet
,
ShaderProgram
Modifier and Type | Field and Description |
---|---|
static int |
ALLOW_VALUE_READ
Specifies that this ShaderAttributeObject allows reading its value.
|
static int |
ALLOW_VALUE_WRITE
Specifies that this ShaderAttributeObject allows writing its value.
|
Modifier and Type | Method and Description |
---|---|
abstract Object |
getValue()
Retrieves the value of this shader attribute.
|
Class |
getValueClass()
Retrieves the base class of the value of this shader attribute.
|
abstract void |
setValue(Object value)
Sets the value of this shader attribute to the specified value.
|
getAttributeName
cloneNodeComponent, cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public static final int ALLOW_VALUE_READ
public static final int ALLOW_VALUE_WRITE
public abstract Object getValue()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic abstract void setValue(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 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 Class getValueClass()
org.scijava.vecmath.Point3f
, the
returned class would be org.scijava.vecmath.Tuple3f
.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphCopyright © 2016–2022 SciJava. All rights reserved.