javax.media.j3d
Class ShaderProgramRetained

java.lang.Object
  extended by javax.media.j3d.IndexedObject
      extended by javax.media.j3d.SceneGraphObjectRetained
          extended by javax.media.j3d.NodeComponentRetained
              extended by javax.media.j3d.ShaderProgramRetained
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
CgShaderProgramRetained, GLSLShaderProgramRetained

abstract class ShaderProgramRetained
extends NodeComponentRetained

The ShaderProgramRetained object is a component object of an AppearanceRetained object that defines the shader properties used when programmable shader is enabled. ShaderProgramRetained object is an abstract class. All shader program objects must be created as either a GLSLShaderProgramRetained object or a CgShaderProgramRetained object.


Nested Class Summary
(package private)  class ShaderProgramRetained.AttrNameInfo
           
(package private)  class ShaderProgramRetained.ShaderProgramData
           
 
Field Summary
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
           
 
Fields inherited from class javax.media.j3d.NodeComponentRetained
changedFrequent, compChanged, duplicateOnCloneTree, mirror, refCnt, refCount, users
 
Fields inherited from class javax.media.j3d.SceneGraphObjectRetained
DONT_MERGE, inBackgroundGroup, inSetLive, MERGE, MERGE_DONE, mergeFlag, onUpdateList, source
 
Fields inherited from class javax.media.j3d.IndexedObject
listIdx
 
Constructor Summary
ShaderProgramRetained()
           
 
Method Summary
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.
 
Methods inherited from class javax.media.j3d.NodeComponentRetained
addAMirrorUser, addUser, clone, copyMirrorUsers, createMirrorObject, decRefCnt, doSetLive, getDuplicateOnCloneTree, getInImmCtx, incRefCnt, notifyUsers, removeAMirrorUser, removeMirrorUsers, removeUser, set, setDuplicateOnCloneTree, setFrequencyChangeMask, setInImmCtx
 
Methods inherited from class javax.media.j3d.SceneGraphObjectRetained
clearLive, clearLive, compile, doSetLive, doSetLive, getSource, getVirtualUniverse, handleFrequencyChange, isInSetLive, isStatic, markAsLive, merge, mergeTransform, setCompiled, setLive, setLive, setSource, traverse
 
Methods inherited from class javax.media.j3d.IndexedObject
getIdxUsed, incIdxUsed
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shaderProgramData

protected ShaderProgramRetained.ShaderProgramData[] shaderProgramData

unsupportedErrorReported

private boolean unsupportedErrorReported

linkErrorOccurred

private boolean linkErrorOccurred

shaders

protected ShaderRetained[] shaders

vertexAttrNames

protected java.lang.String[] vertexAttrNames

shaderAttrNames

protected java.lang.String[] shaderAttrNames

shaderAttrErrorSet

private java.util.HashSet shaderAttrErrorSet

resourceLock

java.lang.Object resourceLock
Constructor Detail

ShaderProgramRetained

ShaderProgramRetained()
Method Detail

setVertexAttrNames

void setVertexAttrNames(java.lang.String[] vertexAttrNames)
Sets the vertex attribute names array for this ShaderProgram object. Each element in the array specifies the shader attribute name that is bound to the corresponding numbered vertex attribute within a GeometryArray object that uses this shader program. Array element 0 specifies the name of GeometryArray vertex attribute 0, array element 1 specifies the name of GeometryArray vertex attribute 1, and so forth. The array of names may be null or empty (0 length), but the elements of the array must be non-null.

Parameters:
vertexAttrNames - array of vertex attribute names for this shader program. A copy of this array is made.

getVertexAttrNames

java.lang.String[] getVertexAttrNames()
Retrieves the vertex attribute names array from this ShaderProgram object.

Returns:
a copy of this ShaderProgram's array of vertex attribute names.

setShaderAttrNames

void setShaderAttrNames(java.lang.String[] shaderAttrNames)
Sets the shader attribute names array for this ShaderProgram object. Each element in the array specifies a shader attribute name that may be set via a ShaderAttribute object. Only those attributes whose names that appear in the shader attribute names array can be set for a given shader program. The array of names may be null or empty (0 length), but the elements of the array must be non-null.

Parameters:
shaderAttrNames - array of shader attribute names for this shader program. A copy of this array is made.

getShaderAttrNames

java.lang.String[] getShaderAttrNames()
Retrieves the shader attribute names array from this ShaderProgram object.

Returns:
a copy of this ShaderProgram's array of shader attribute names.

setShaders

void setShaders(Shader[] shaders)
Copies the specified array of shaders into this shader program. This method makes a shallow copy of the array. The array of shaders may be null or empty (0 length), but the elements of the array must be non-null. The shading language of each shader in the array must match the subclass. Subclasses may impose additional restrictions.

Parameters:
shaders - array of Shader objects to be copied into this ShaderProgram
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
java.lang.IllegalArgumentException - if the shading language of any shader in the shaders array doesn't match the type of the subclass.

getShaders

Shader[] getShaders()
Retrieves the array of shaders from this shader program. A shallow copy of the array is returned. The return value may be null.

Returns:
a copy of this ShaderProgram's array of Shader objects

createShader

abstract ShaderError createShader(Context ctx,
                                  ShaderRetained shader,
                                  ShaderId[] shaderIdArr)
Method to create the native shader.


destroyShader

abstract ShaderError destroyShader(Context ctx,
                                   ShaderId shaderId)
Method to destroy the native shader.


compileShader

abstract ShaderError compileShader(Context ctx,
                                   ShaderId shaderId,
                                   java.lang.String source)
Method to compile the native shader.


createShaderProgram

abstract ShaderError createShaderProgram(Context ctx,
                                         ShaderProgramId[] shaderProgramIdArr)
Method to create the native shader program.


destroyShaderProgram

abstract ShaderError destroyShaderProgram(Context ctx,
                                          ShaderProgramId shaderProgramId)
Method to destroy the native shader program.


linkShaderProgram

abstract ShaderError linkShaderProgram(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderId[] shaderIds)
Method to link the native shader program.


bindVertexAttrName

abstract ShaderError bindVertexAttrName(Context ctx,
                                        ShaderProgramId shaderProgramId,
                                        java.lang.String attrName,
                                        int attrIndex)
Method to bind a vertex attribute name to the specified index.


lookupShaderAttrNames

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.


lookupVertexAttrNames

abstract void lookupVertexAttrNames(Context ctx,
                                    ShaderProgramId shaderProgramId,
                                    java.lang.String[] attrNames,
                                    boolean[] errArr)

enableShaderProgram

abstract ShaderError enableShaderProgram(Context ctx,
                                         ShaderProgramId shaderProgramId)
Method to use the native shader program.


disableShaderProgram

abstract ShaderError disableShaderProgram(Context ctx)
Method to disable the native shader program.


setUniform1i

abstract ShaderError setUniform1i(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  int value)

setUniform1f

abstract ShaderError setUniform1f(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  float value)

setUniform2i

abstract ShaderError setUniform2i(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  int[] value)

setUniform2f

abstract ShaderError setUniform2f(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  float[] value)

setUniform3i

abstract ShaderError setUniform3i(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  int[] value)

setUniform3f

abstract ShaderError setUniform3f(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  float[] value)

setUniform4i

abstract ShaderError setUniform4i(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  int[] value)

setUniform4f

abstract ShaderError setUniform4f(Context ctx,
                                  ShaderProgramId shaderProgramId,
                                  ShaderAttrLoc uniformLocation,
                                  float[] value)

setUniformMatrix3f

abstract ShaderError setUniformMatrix3f(Context ctx,
                                        ShaderProgramId shaderProgramId,
                                        ShaderAttrLoc uniformLocation,
                                        float[] value)

setUniformMatrix4f

abstract ShaderError setUniformMatrix4f(Context ctx,
                                        ShaderProgramId shaderProgramId,
                                        ShaderAttrLoc uniformLocation,
                                        float[] value)

setUniform1iArray

abstract ShaderError setUniform1iArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       int[] value)

setUniform1fArray

abstract ShaderError setUniform1fArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       float[] value)

setUniform2iArray

abstract ShaderError setUniform2iArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       int[] value)

setUniform2fArray

abstract ShaderError setUniform2fArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       float[] value)

setUniform3iArray

abstract ShaderError setUniform3iArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       int[] value)

setUniform3fArray

abstract ShaderError setUniform3fArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       float[] value)

setUniform4iArray

abstract ShaderError setUniform4iArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       int[] value)

setUniform4fArray

abstract ShaderError setUniform4fArray(Context ctx,
                                       ShaderProgramId shaderProgramId,
                                       ShaderAttrLoc uniformLocation,
                                       int numElements,
                                       float[] value)

setUniformMatrix3fArray

abstract ShaderError setUniformMatrix3fArray(Context ctx,
                                             ShaderProgramId shaderProgramId,
                                             ShaderAttrLoc uniformLocation,
                                             int numElements,
                                             float[] value)

setUniformMatrix4fArray

abstract ShaderError setUniformMatrix4fArray(Context ctx,
                                             ShaderProgramId shaderProgramId,
                                             ShaderAttrLoc uniformLocation,
                                             int numElements,
                                             float[] value)

isSupported

abstract boolean isSupported(Canvas3D cv)
Method to return a flag indicating whether this ShaderProgram is supported on the specified Canvas.


setLive

void setLive(boolean backgroundGroup,
             int refCount)
Overrides:
setLive in class NodeComponentRetained

clearLive

void clearLive(int refCount)
Overrides:
clearLive in class NodeComponentRetained

enableShaderProgram

private ShaderError enableShaderProgram(Canvas3D cv,
                                        int cvRdrIndex)
Method to enable the native shader program.


disableShaderProgram

private ShaderError disableShaderProgram(Canvas3D cv)
Method to disable the native shader program.


initMirrorObject

void initMirrorObject()
Initializes a mirror object.

Overrides:
initMirrorObject in class NodeComponentRetained

updateMirrorObject

void updateMirrorObject(int component,
                        java.lang.Object value)
Update the "component" field of the mirror object with the given "value"

Overrides:
updateMirrorObject in class NodeComponentRetained

createShaderProgramData

private void createShaderProgramData(int cvRdrIndex,
                                     long ctxTimeStamp)
Method to create a ShaderProgramData object for the specified canvas/renderer if it doesn't already exist. Issue 378 : reset the ShaderProgramData object if the context has been recreated for the particular canvas / renderer.


createShaderProgram

private ShaderError createShaderProgram(Canvas3D cv,
                                        int cvRdrIndex)
Method to create the native shader program. We must already have called createShaderProgramData for this cvRdrIndex.


linkShaderProgram

private ShaderError linkShaderProgram(Canvas3D cv,
                                      int cvRdrIndex,
                                      ShaderRetained[] shaders)
Method to link the native shader program.


bindVertexAttrName

private ShaderError bindVertexAttrName(Canvas3D cv,
                                       int cvRdrIndex,
                                       java.lang.String attrName,
                                       int attrIndex)

lookupVertexAttrNames

private void lookupVertexAttrNames(Canvas3D cv,
                                   int cvRdrIndex,
                                   java.lang.String[] attrNames)

lookupShaderAttrNames

private void lookupShaderAttrNames(Canvas3D cv,
                                   int cvRdrIndex,
                                   java.lang.String[] attrNames)

getShaderProgramData

private ShaderProgramRetained.ShaderProgramData getShaderProgramData(int cvRdrIndex)
Method to return the shaderProgram data for the specified canvas or renderer


createShader

private ShaderError createShader(Canvas3D cv,
                                 int cvRdrIndex,
                                 ShaderRetained shader)
Method to create the native shader. We must already have called createShaderData for this cvRdrIndex.


compileShader

private ShaderError compileShader(Canvas3D cv,
                                  int cvRdrIndex,
                                  ShaderRetained shader)
Method to compile the native shader.


notifyErrorListeners

void notifyErrorListeners(Canvas3D cv,
                          ShaderError err)
Send a message to the notification thread, which will call the shader error listeners.


verifyShaderProgramSupported

private boolean verifyShaderProgramSupported(Canvas3D cv)
This method checks whether this ShaderProgram is supported on the specified Canvas. If it isn't supported, it will report a ShaderError unless an error has already been reported for this shader program.


destroyShader

void destroyShader(Canvas3D cv,
                   int cvRdrIndex,
                   ShaderRetained shader)
Method to destroy the native shader.


destroyShaderProgram

void destroyShaderProgram(Canvas3D cv,
                          int cvRdrIndex)
Method to destroy the native shader program.


updateNative

void updateNative(Canvas3D cv,
                  boolean enable)
updateNative is called while traversing the RenderBin to update the shader program state


setUniformAttrValue

ShaderError setUniformAttrValue(Context ctx,
                                ShaderProgramId shaderProgramId,
                                ShaderAttrLoc loc,
                                ShaderAttributeValueRetained sav)
Update native value for ShaderAttributeValue class


setUniformAttrArray

ShaderError setUniformAttrArray(Context ctx,
                                ShaderProgramId shaderProgramId,
                                ShaderAttrLoc loc,
                                ShaderAttributeArrayRetained saa)
Update native value for ShaderAttributeArray class


setShaderAttributes

void setShaderAttributes(Canvas3D cv,
                         ShaderAttributeSetRetained attributeSet)


Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.