abstract class ShaderProgramRetained extends NodeComponentRetained
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
ShaderProgramRetained.AttrNameInfo |
(package private) class |
ShaderProgramRetained.ShaderProgramData |
| Modifier and Type | Field and Description |
|---|---|
private boolean |
linkErrorOccurred |
(package private) java.lang.Object |
resourceLock |
private java.util.HashSet |
shaderAttrErrorSet |
protected java.lang.String[] |
shaderAttrNames |
protected ShaderProgramRetained.ShaderProgramData[] |
shaderProgramData |
protected ShaderRetained[] |
shaders |
private boolean |
unsupportedErrorReported |
protected java.lang.String[] |
vertexAttrNames |
changedFrequent, compChanged, duplicateOnCloneTree, mirror, refCnt, refCount, usersDONT_MERGE, inBackgroundGroup, inSetLive, MERGE, MERGE_DONE, mergeFlag, onUpdateList, sourcelistIdx| Constructor and Description |
|---|
ShaderProgramRetained() |
| Modifier and Type | Method and Description |
|---|---|
private ShaderError |
bindVertexAttrName(Canvas3D cv,
int cvRdrIndex,
java.lang.String attrName,
int attrIndex) |
(package private) abstract ShaderError |
bindVertexAttrName(Context ctx,
ShaderProgramId shaderProgramId,
java.lang.String attrName,
int attrIndex)
Method to bind a vertex attribute name to the specified index.
|
(package private) void |
clearLive(int refCount) |
private ShaderError |
compileShader(Canvas3D cv,
int cvRdrIndex,
ShaderRetained shader)
Method to compile the native shader.
|
(package private) abstract ShaderError |
compileShader(Context ctx,
ShaderId shaderId,
java.lang.String source)
Method to compile the native shader.
|
private ShaderError |
createShader(Canvas3D cv,
int cvRdrIndex,
ShaderRetained shader)
Method to create the native shader.
|
(package private) abstract ShaderError |
createShader(Context ctx,
ShaderRetained shader,
ShaderId[] shaderIdArr)
Method to create the native shader.
|
private ShaderError |
createShaderProgram(Canvas3D cv,
int cvRdrIndex)
Method to create the native shader program.
|
(package private) abstract ShaderError |
createShaderProgram(Context ctx,
ShaderProgramId[] shaderProgramIdArr)
Method to create the native shader program.
|
private void |
createShaderProgramData(int cvRdrIndex,
long ctxTimeStamp)
Method to create a ShaderProgramData object for the specified
canvas/renderer if it doesn't already exist.
|
(package private) void |
destroyShader(Canvas3D cv,
int cvRdrIndex,
ShaderRetained shader)
Method to destroy the native shader.
|
(package private) abstract ShaderError |
destroyShader(Context ctx,
ShaderId shaderId)
Method to destroy the native shader.
|
(package private) void |
destroyShaderProgram(Canvas3D cv,
int cvRdrIndex)
Method to destroy the native shader program.
|
(package private) abstract ShaderError |
destroyShaderProgram(Context ctx,
ShaderProgramId shaderProgramId)
Method to destroy the native shader program.
|
private ShaderError |
disableShaderProgram(Canvas3D cv)
Method to disable the native shader program.
|
(package private) abstract ShaderError |
disableShaderProgram(Context ctx)
Method to disable the native shader program.
|
private ShaderError |
enableShaderProgram(Canvas3D cv,
int cvRdrIndex)
Method to enable the native shader program.
|
(package private) abstract ShaderError |
enableShaderProgram(Context ctx,
ShaderProgramId shaderProgramId)
Method to use the native shader program.
|
(package private) java.lang.String[] |
getShaderAttrNames()
Retrieves the shader attribute names array from this
ShaderProgram object.
|
private ShaderProgramRetained.ShaderProgramData |
getShaderProgramData(int cvRdrIndex)
Method to return the shaderProgram data for the specified canvas or renderer
|
(package private) Shader[] |
getShaders()
Retrieves the array of shaders from this shader program.
|
(package private) java.lang.String[] |
getVertexAttrNames()
Retrieves the vertex attribute names array from this
ShaderProgram object.
|
(package private) void |
initMirrorObject()
Initializes a mirror object.
|
(package private) abstract boolean |
isSupported(Canvas3D cv)
Method to return a flag indicating whether this
ShaderProgram is supported on the specified Canvas.
|
private ShaderError |
linkShaderProgram(Canvas3D cv,
int cvRdrIndex,
ShaderRetained[] shaders)
Method to link the native shader program.
|
(package private) abstract ShaderError |
linkShaderProgram(Context ctx,
ShaderProgramId shaderProgramId,
ShaderId[] shaderIds)
Method to link the native shader program.
|
private void |
lookupShaderAttrNames(Canvas3D cv,
int cvRdrIndex,
java.lang.String[] attrNames) |
(package private) abstract void |
lookupShaderAttrNames(Context ctx,
ShaderProgramId shaderProgramId,
java.lang.String[] attrNames,
ShaderProgramRetained.AttrNameInfo[] attrNameInfoArr)
Method to lookup a list of (uniform) shader attribute names and return
information about the attributes.
|
private void |
lookupVertexAttrNames(Canvas3D cv,
int cvRdrIndex,
java.lang.String[] attrNames) |
(package private) abstract void |
lookupVertexAttrNames(Context ctx,
ShaderProgramId shaderProgramId,
java.lang.String[] attrNames,
boolean[] errArr) |
(package private) void |
notifyErrorListeners(Canvas3D cv,
ShaderError err)
Send a message to the notification thread, which will call the
shader error listeners.
|
(package private) void |
setLive(boolean backgroundGroup,
int refCount) |
(package private) void |
setShaderAttributes(Canvas3D cv,
ShaderAttributeSetRetained attributeSet) |
(package private) void |
setShaderAttrNames(java.lang.String[] shaderAttrNames)
Sets the shader attribute names array for this ShaderProgram
object.
|
(package private) void |
setShaders(Shader[] shaders)
Copies the specified array of shaders into this shader
program.
|
(package private) abstract ShaderError |
setUniform1f(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
float value) |
(package private) abstract ShaderError |
setUniform1fArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
float[] value) |
(package private) abstract ShaderError |
setUniform1i(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int value) |
(package private) abstract ShaderError |
setUniform1iArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
int[] value) |
(package private) abstract ShaderError |
setUniform2f(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
float[] value) |
(package private) abstract ShaderError |
setUniform2fArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
float[] value) |
(package private) abstract ShaderError |
setUniform2i(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int[] value) |
(package private) abstract ShaderError |
setUniform2iArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
int[] value) |
(package private) abstract ShaderError |
setUniform3f(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
float[] value) |
(package private) abstract ShaderError |
setUniform3fArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
float[] value) |
(package private) abstract ShaderError |
setUniform3i(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int[] value) |
(package private) abstract ShaderError |
setUniform3iArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
int[] value) |
(package private) abstract ShaderError |
setUniform4f(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
float[] value) |
(package private) abstract ShaderError |
setUniform4fArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
float[] value) |
(package private) abstract ShaderError |
setUniform4i(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int[] value) |
(package private) abstract ShaderError |
setUniform4iArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
int[] value) |
(package private) ShaderError |
setUniformAttrArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc loc,
ShaderAttributeArrayRetained saa)
Update native value for ShaderAttributeArray class
|
(package private) ShaderError |
setUniformAttrValue(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc loc,
ShaderAttributeValueRetained sav)
Update native value for ShaderAttributeValue class
|
(package private) abstract ShaderError |
setUniformMatrix3f(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
float[] value) |
(package private) abstract ShaderError |
setUniformMatrix3fArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
float[] value) |
(package private) abstract ShaderError |
setUniformMatrix4f(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
float[] value) |
(package private) abstract ShaderError |
setUniformMatrix4fArray(Context ctx,
ShaderProgramId shaderProgramId,
ShaderAttrLoc uniformLocation,
int numElements,
float[] value) |
(package private) void |
setVertexAttrNames(java.lang.String[] vertexAttrNames)
Sets the vertex attribute names array for this ShaderProgram
object.
|
(package private) void |
updateMirrorObject(int component,
java.lang.Object value)
Update the "component" field of the mirror object with the given "value"
|
(package private) void |
updateNative(Canvas3D cv,
boolean enable)
updateNative is called while traversing the RenderBin to
update the shader program state
|
private boolean |
verifyShaderProgramSupported(Canvas3D cv)
This method checks whether this ShaderProgram is supported on
the specified Canvas.
|
addAMirrorUser, addUser, clone, copyMirrorUsers, createMirrorObject, decRefCnt, doSetLive, getDuplicateOnCloneTree, getInImmCtx, incRefCnt, notifyUsers, removeAMirrorUser, removeMirrorUsers, removeUser, set, setDuplicateOnCloneTree, setFrequencyChangeMask, setInImmCtxclearLive, clearLive, compile, doSetLive, doSetLive, getSource, getVirtualUniverse, handleFrequencyChange, isInSetLive, isStatic, markAsLive, merge, mergeTransform, setCompiled, setLive, setLive, setSource, traversegetIdxUsed, incIdxUsedprotected ShaderProgramRetained.ShaderProgramData[] shaderProgramData
private boolean unsupportedErrorReported
private boolean linkErrorOccurred
protected ShaderRetained[] shaders
protected java.lang.String[] vertexAttrNames
protected java.lang.String[] shaderAttrNames
private java.util.HashSet shaderAttrErrorSet
java.lang.Object resourceLock
void setVertexAttrNames(java.lang.String[] vertexAttrNames)
vertexAttrNames - array of vertex attribute names for this
shader program. A copy of this array is made.java.lang.String[] getVertexAttrNames()
void setShaderAttrNames(java.lang.String[] shaderAttrNames)
shaderAttrNames - array of shader attribute names for this
shader program. A copy of this array is made.java.lang.String[] getShaderAttrNames()
void setShaders(Shader[] shaders)
shaders - array of Shader objects to be copied into this
ShaderProgramCapabilityNotSetException - if appropriate capability is
not set and this object is part of live or compiled scene graphjava.lang.IllegalArgumentException - if the shading language of
any shader in the shaders array doesn't match the type of the
subclass.Shader[] getShaders()
abstract ShaderError createShader(Context ctx, ShaderRetained shader, ShaderId[] shaderIdArr)
abstract ShaderError destroyShader(Context ctx, ShaderId shaderId)
abstract ShaderError compileShader(Context ctx, ShaderId shaderId, java.lang.String source)
abstract ShaderError createShaderProgram(Context ctx, ShaderProgramId[] shaderProgramIdArr)
abstract ShaderError destroyShaderProgram(Context ctx, ShaderProgramId shaderProgramId)
abstract ShaderError linkShaderProgram(Context ctx, ShaderProgramId shaderProgramId, ShaderId[] shaderIds)
abstract ShaderError bindVertexAttrName(Context ctx, ShaderProgramId shaderProgramId, java.lang.String attrName, int attrIndex)
abstract void lookupShaderAttrNames(Context ctx, ShaderProgramId shaderProgramId, java.lang.String[] attrNames, ShaderProgramRetained.AttrNameInfo[] attrNameInfoArr)
abstract void lookupVertexAttrNames(Context ctx, ShaderProgramId shaderProgramId, java.lang.String[] attrNames, boolean[] errArr)
abstract ShaderError enableShaderProgram(Context ctx, ShaderProgramId shaderProgramId)
abstract ShaderError disableShaderProgram(Context ctx)
abstract ShaderError setUniform1i(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int value)
abstract ShaderError setUniform1f(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, float value)
abstract ShaderError setUniform2i(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int[] value)
abstract ShaderError setUniform2f(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, float[] value)
abstract ShaderError setUniform3i(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int[] value)
abstract ShaderError setUniform3f(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, float[] value)
abstract ShaderError setUniform4i(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int[] value)
abstract ShaderError setUniform4f(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, float[] value)
abstract ShaderError setUniformMatrix3f(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, float[] value)
abstract ShaderError setUniformMatrix4f(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, float[] value)
abstract ShaderError setUniform1iArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, int[] value)
abstract ShaderError setUniform1fArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, float[] value)
abstract ShaderError setUniform2iArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, int[] value)
abstract ShaderError setUniform2fArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, float[] value)
abstract ShaderError setUniform3iArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, int[] value)
abstract ShaderError setUniform3fArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, float[] value)
abstract ShaderError setUniform4iArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, int[] value)
abstract ShaderError setUniform4fArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, float[] value)
abstract ShaderError setUniformMatrix3fArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, float[] value)
abstract ShaderError setUniformMatrix4fArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc uniformLocation, int numElements, float[] value)
abstract boolean isSupported(Canvas3D cv)
void setLive(boolean backgroundGroup,
int refCount)
setLive in class NodeComponentRetainedvoid clearLive(int refCount)
clearLive in class NodeComponentRetainedprivate ShaderError enableShaderProgram(Canvas3D cv, int cvRdrIndex)
private ShaderError disableShaderProgram(Canvas3D cv)
void initMirrorObject()
initMirrorObject in class NodeComponentRetainedvoid updateMirrorObject(int component,
java.lang.Object value)
updateMirrorObject in class NodeComponentRetainedprivate void createShaderProgramData(int cvRdrIndex,
long ctxTimeStamp)
private ShaderError createShaderProgram(Canvas3D cv, int cvRdrIndex)
private ShaderError linkShaderProgram(Canvas3D cv, int cvRdrIndex, ShaderRetained[] shaders)
private ShaderError bindVertexAttrName(Canvas3D cv, int cvRdrIndex, java.lang.String attrName, int attrIndex)
private void lookupVertexAttrNames(Canvas3D cv, int cvRdrIndex, java.lang.String[] attrNames)
private void lookupShaderAttrNames(Canvas3D cv, int cvRdrIndex, java.lang.String[] attrNames)
private ShaderProgramRetained.ShaderProgramData getShaderProgramData(int cvRdrIndex)
private ShaderError createShader(Canvas3D cv, int cvRdrIndex, ShaderRetained shader)
private ShaderError compileShader(Canvas3D cv, int cvRdrIndex, ShaderRetained shader)
void notifyErrorListeners(Canvas3D cv, ShaderError err)
private boolean verifyShaderProgramSupported(Canvas3D cv)
void destroyShader(Canvas3D cv, int cvRdrIndex, ShaderRetained shader)
void destroyShaderProgram(Canvas3D cv, int cvRdrIndex)
void updateNative(Canvas3D cv, boolean enable)
ShaderError setUniformAttrValue(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc loc, ShaderAttributeValueRetained sav)
ShaderError setUniformAttrArray(Context ctx, ShaderProgramId shaderProgramId, ShaderAttrLoc loc, ShaderAttributeArrayRetained saa)
void setShaderAttributes(Canvas3D cv, ShaderAttributeSetRetained attributeSet)
Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.