de.grogra.imp3d.glsl.renderable
Class GLSLInstanceableRenderable

java.lang.Object
  extended by de.grogra.imp3d.glsl.renderable.GLSLRenderable
      extended by de.grogra.imp3d.glsl.renderable.GLSLInstanceableRenderable
Direct Known Subclasses:
GLSLBitCache, GLSLSphere

public abstract class GLSLInstanceableRenderable
extends GLSLRenderable


Field Summary
static byte DIRECT
           
static byte INDIRECT
           
static byte INSTANCIATED
           
 
Constructor Summary
GLSLInstanceableRenderable()
           
 
Method Summary
 void updateInstance(java.lang.Object reference, java.lang.Object state, boolean asNode, GraphState gs)
           
protected abstract  void updateInstanceByInstancing(Renderable reference, GraphState gs)
           
protected abstract  void updateInstanceDirect(Renderable reference)
           
protected abstract  void updateInstanceIndirect(java.lang.Object state, boolean asNode, GraphState gs)
           
 
Methods inherited from class de.grogra.imp3d.glsl.renderable.GLSLRenderable
activateShader, draw, drawAlt, findShader, getInstance, instanceFor, isShaderDependant
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIRECT

public static final byte DIRECT
See Also:
Constant Field Values

INDIRECT

public static final byte INDIRECT
See Also:
Constant Field Values

INSTANCIATED

public static final byte INSTANCIATED
See Also:
Constant Field Values
Constructor Detail

GLSLInstanceableRenderable

public GLSLInstanceableRenderable()
Method Detail

updateInstance

public void updateInstance(java.lang.Object reference,
                           java.lang.Object state,
                           boolean asNode,
                           GraphState gs)
Specified by:
updateInstance in class GLSLRenderable

updateInstanceByInstancing

protected abstract void updateInstanceByInstancing(Renderable reference,
                                                   GraphState gs)

updateInstanceDirect

protected abstract void updateInstanceDirect(Renderable reference)

updateInstanceIndirect

protected abstract void updateInstanceIndirect(java.lang.Object state,
                                               boolean asNode,
                                               GraphState gs)