org.xith3d.render.states.units
Interface StateUnitPeer

All Known Implementing Classes:
ColoringStateUnitPeer, ColoringStateUnitPeer, FogStateUnitPeer, FogStateUnitPeer, LightingStateUnitPeer, LightingStateUnitPeer, LineAttribsStateUnitPeer, LineAttribsStateUnitPeer, MaterialStateUnitPeer, MaterialStateUnitPeer, PointAttribsStateUnitPeer, PointAttribsStateUnitPeer, PolygonAttribsStateUnitPeer, PolygonAttribsStateUnitPeer, RenderingAttribsStateUnitPeer, RenderingAttribsStateUnitPeer, ShaderProgramStateUnitPeer, ShaderProgramStateUnitPeer, TextureUnitStateUnitPeer, TextureUnitStateUnitPeer

public interface StateUnitPeer


Method Summary
 void apply(RenderAtom<?> atom, StateUnit stateUnit, java.lang.Object glObj, CanvasPeer canvasPeer, RenderPeer renderPeer, OpenGLCapabilities glCaps, View view, OpenGLStatesCache statesCache, RenderOptions options, long nanoTime, long nanoStep, RenderPeer.RenderMode renderMode, long frameId)
          Takes the StateUnit assigned to the specified atom and sets up the graphics environment, so that it is correct.
 

Method Detail

apply

void apply(RenderAtom<?> atom,
           StateUnit stateUnit,
           java.lang.Object glObj,
           CanvasPeer canvasPeer,
           RenderPeer renderPeer,
           OpenGLCapabilities glCaps,
           View view,
           OpenGLStatesCache statesCache,
           RenderOptions options,
           long nanoTime,
           long nanoStep,
           RenderPeer.RenderMode renderMode,
           long frameId)
Takes the StateUnit assigned to the specified atom and sets up the graphics environment, so that it is correct. Do so by only updating, where there is a change.

The whole atom is supplied here because there might be some StateUnits, that need to access the geometry in order to work properly.

Parameters:
atom -
stateUnit -
glObj -
canvasPeer -
renderPeer -
glCaps -
view -
statesCache -
options -
nanoTime -
nanoStep -
renderMode -
frameId -