javax.media.j3d
Class SourceCodeShader

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.NodeComponent
          extended by javax.media.j3d.Shader
              extended by javax.media.j3d.SourceCodeShader

public class SourceCodeShader
extends Shader

The SourceCodeShader object is a shader that is defined using text-based source code. It is used to define the source code for both vertex and fragment shaders. The currently supported shading languages are Cg and GLSL.

Since:
Java 3D 1.4
See Also:
ShaderProgram

Field Summary
 
Fields inherited from class javax.media.j3d.Shader
SHADER_TYPE_FRAGMENT, SHADER_TYPE_VERTEX, SHADING_LANGUAGE_CG, SHADING_LANGUAGE_GLSL
 
Fields inherited from class javax.media.j3d.NodeComponent
forceDuplicate
 
Fields inherited from class javax.media.j3d.SceneGraphObject
nodeHashtable, retained
 
Constructor Summary
SourceCodeShader()
          Not a public constructor, for internal use
SourceCodeShader(int shadingLanguage, int shaderType, java.lang.String shaderSource)
          Constructs a new shader object of the specified shading language and shader type from the specified source string.
 
Method Summary
 NodeComponent cloneNodeComponent()
          Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate)
(package private)  void createRetained()
          Creates a retained mode SourceCodeShaderRetained object that this SourceCodeShader component object will point to.
(package private)  void duplicateAttributes(NodeComponent originalNodeComponent, boolean forceDuplicate)
          Copies all node information from originalNodeComponent into the current node.
 java.lang.String getShaderSource()
          Retrieves the shader source string from this shader object.
 
Methods inherited from class javax.media.j3d.Shader
getShaderType, getShadingLanguage
 
Methods inherited from class javax.media.j3d.NodeComponent
checkDuplicateNodeComponent, cloneNodeComponent, duplicateChild, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree, validateImageIllegalSharing
 
Methods inherited from class javax.media.j3d.SceneGraphObject
capabilityBitsEmpty, checkForLiveOrCompiled, clearCapability, clearCapabilityIsFrequent, clearLive, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getNamePrefix, getNodeComponent, getUserData, isCompiled, isLive, isLiveOrCompiled, setCapability, setCapabilityIsFrequent, setCompiled, setDefaultReadCapabilities, setLive, setName, setUserData, toString, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SourceCodeShader

SourceCodeShader()
Not a public constructor, for internal use


SourceCodeShader

public SourceCodeShader(int shadingLanguage,
                        int shaderType,
                        java.lang.String shaderSource)
Constructs a new shader object of the specified shading language and shader type from the specified source string.

Parameters:
shadingLanguage - the specified shading language, one of: SHADING_LANGUAGE_GLSL or SHADING_LANGUAGE_CG.
shaderType - the shader type, one of: SHADER_TYPE_VERTEX or SHADER_TYPE_FRAGMENT.
shaderSource - the shader source code
Throws:
java.lang.NullPointerException - if shaderSource is null.
Method Detail

getShaderSource

public java.lang.String getShaderSource()
Retrieves the shader source string from this shader object.

Returns:
the shader source string.

createRetained

void createRetained()
Creates a retained mode SourceCodeShaderRetained object that this SourceCodeShader component object will point to.

Overrides:
createRetained in class NodeComponent

cloneNodeComponent

public NodeComponent cloneNodeComponent()
Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate)

Overrides:
cloneNodeComponent in class NodeComponent

duplicateAttributes

void duplicateAttributes(NodeComponent originalNodeComponent,
                         boolean forceDuplicate)
Copies all node information from originalNodeComponent into the current node. This method is called from the duplicateNode method. This routine does the actual duplication of all "local data" (any data defined in this object).

Overrides:
duplicateAttributes in class NodeComponent
Parameters:
originalNodeComponent - the original node to duplicate
forceDuplicate - when set to true, causes the duplicateOnCloneTree flag to be ignored. When false, the value of each node's duplicateOnCloneTree variable determines whether NodeComponent data is duplicated or copied.
See Also:
Node.cloneTree(), NodeComponent.setDuplicateOnCloneTree(boolean)


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