org.xith3d.scenegraph
Class ShaderProgram<S extends Shader>
java.lang.Object
org.xith3d.scenegraph.SceneGraphObject
org.xith3d.scenegraph.NodeComponent
org.xith3d.scenegraph.ShaderProgram<S>
- All Implemented Interfaces:
- java.lang.Comparable<ShaderProgram<S>>, org.jagatoo.datatypes.Enableable, org.jagatoo.datatypes.NamableObject, org.jagatoo.datatypes.NamedObject, StateTrackable<ShaderProgram<S>>
- Direct Known Subclasses:
- AssemblyShaderProgram, GLSLShaderProgram
public abstract class ShaderProgram<S extends Shader>
- extends NodeComponent
- implements org.jagatoo.datatypes.Enableable, StateTrackable<ShaderProgram<S>>
| Methods inherited from class org.xith3d.scenegraph.SceneGraphObject |
getName, getUserData, getUserData, getUserDataMap, isLive, setLive, setName, setUserData, setUserData, setUserDataRecursive, setUserDataRecursive, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ShaderProgram
public ShaderProgram(boolean enabled)
ShaderProgram
public ShaderProgram()
setEnabled
public final void setEnabled(boolean enabled)
- Specified by:
setEnabled in interface org.jagatoo.datatypes.Enableable
isEnabled
public final boolean isEnabled()
- Specified by:
isEnabled in interface org.jagatoo.datatypes.Enableable
setDirty
protected final void setDirty(boolean dirty)
addShader
public final void addShader(S shader)
removeShader
public final void removeShader(S shader)
removeAllShaders
public final void removeAllShaders()
getNumVertexShaders
public final int getNumVertexShaders()
getNumFragmentShaders
public final int getNumFragmentShaders()
getNumShaders
public final int getNumShaders()
getVertexShader
public final S getVertexShader(int index)
getFragmentShader
public final S getFragmentShader(int index)
freeOpenGLResources
public void freeOpenGLResources(CanvasPeer canvasPeer)
- This method frees OpenGL resources (names) for all this NodeComponent and
all child-components.
- Specified by:
freeOpenGLResources in class NodeComponent
setStateNode
public final void setStateNode(StateNode node)
- Description copied from interface:
StateTrackable
- Used by the render engine to set the state id for the node.
- Specified by:
setStateNode in interface StateTrackable<ShaderProgram<S extends Shader>>
getStateNode
public final StateNode getStateNode()
- Specified by:
getStateNode in interface StateTrackable<ShaderProgram<S extends Shader>>
- Returns:
- the id of the object. This should return -1 if there is no
assigned id.
getStateId
public final long getStateId()
compareTo
public abstract int compareTo(ShaderProgram<S> o)
-
- Specified by:
compareTo in interface java.lang.Comparable<ShaderProgram<S extends Shader>>
equals
public abstract boolean equals(java.lang.Object obj)
-
- Overrides:
equals in class java.lang.Object
duplicateNodeComponent
protected void duplicateNodeComponent(NodeComponent original,
boolean forceDuplicate)
- Overrides:
duplicateNodeComponent in class NodeComponent