javax.media.j3d
Class ShaderRetained

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.ShaderRetained
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
SourceCodeShaderRetained

abstract class ShaderRetained
extends NodeComponentRetained

The ShaderRetained object is the abstract base class for programmable shader code. Currently, only text-based source code shaders are supported, so the only subclass of Shader is SourceCodeShader. We leave open the possibility for binary (object code) shaders in the future.


Nested Class Summary
(package private)  class ShaderRetained.ShaderData
           
 
Field Summary
(package private)  boolean compileErrorOccurred
           
(package private)  java.lang.Object resourceLock
           
(package private)  ShaderRetained.ShaderData[] shaderData
           
(package private)  int shaderType
           
(package private)  int shadingLanguage
           
 
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
ShaderRetained()
           
 
Method Summary
(package private)  void clearLive(int refCount)
           
(package private)  void createShaderData(int cvRdrIndex, long ctxTimeStamp)
           
(package private)  int getShaderType()
           
(package private)  int getShadingLanguage()
           
(package private)  void handleFrequencyChange(int bit)
           
(package private)  void initializeShader(int shadingLanguage, int shaderType)
           
(package private)  void setLive(boolean inBackgroundGroup, int refCount)
           
(package private)  void updateMirrorObject(int component, java.lang.Object value)
          Shader object doesn't really have mirror object.
 
Methods inherited from class javax.media.j3d.NodeComponentRetained
addAMirrorUser, addUser, clone, copyMirrorUsers, createMirrorObject, decRefCnt, doSetLive, getDuplicateOnCloneTree, getInImmCtx, incRefCnt, initMirrorObject, notifyUsers, removeAMirrorUser, removeMirrorUsers, removeUser, set, setDuplicateOnCloneTree, setFrequencyChangeMask, setInImmCtx
 
Methods inherited from class javax.media.j3d.SceneGraphObjectRetained
clearLive, clearLive, compile, doSetLive, doSetLive, getSource, getVirtualUniverse, 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

shadingLanguage

int shadingLanguage

shaderType

int shaderType

shaderData

ShaderRetained.ShaderData[] shaderData

compileErrorOccurred

boolean compileErrorOccurred

resourceLock

java.lang.Object resourceLock
Constructor Detail

ShaderRetained

ShaderRetained()
Method Detail

initializeShader

void initializeShader(int shadingLanguage,
                      int shaderType)

getShadingLanguage

int getShadingLanguage()

getShaderType

int getShaderType()

setLive

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

clearLive

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

updateMirrorObject

void updateMirrorObject(int component,
                        java.lang.Object value)
Shader object doesn't really have mirror object. But it's using the updateMirrorObject interface to propagate the changes to the users

Overrides:
updateMirrorObject in class NodeComponentRetained

handleFrequencyChange

void handleFrequencyChange(int bit)
Overrides:
handleFrequencyChange in class SceneGraphObjectRetained

createShaderData

void createShaderData(int cvRdrIndex,
                      long ctxTimeStamp)


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