cz.cuni.amis.nb.pogamut.unreal.timeline.map
Class UTAgentSubGLRenderer

Package class diagram package UTAgentSubGLRenderer
java.lang.Object
  extended by cz.cuni.amis.nb.pogamut.unreal.timeline.map.UTAgentSubGLRenderer
All Implemented Interfaces:
ISubGLRenderer<IRenderableUTAgent>

public class UTAgentSubGLRenderer
extends Object
implements ISubGLRenderer<IRenderableUTAgent>

Sub-renderer for object IRenderableUTAgent Implementation note: be careful when asking twice for same field of agent (like agent.getRotation()), because it is dependant on time when you ask and returned value is not guaranteed to be same (like first can be valid and second null).

Author:
Honza

Constructor Summary
UTAgentSubGLRenderer(IRenderableUTAgent utAgent, cz.cuni.amis.pogamut.unreal.communication.worldview.map.IUnrealMap map)
          Create a new subrenderer with passed agent as source of data.
 
Method Summary
 List<BlendTriangle> getBlendedTris()
          Because blending phase of rendering can be done only after all opaque objects has been drawn and because polys has to be back-to-front ordered every renderer will return list of its blended triangles so final renderer can sort all blended triangles from all blended renderers and do it correctly.
 IRenderableUTAgent getObject()
          Return object this renderer draws.
 void prepare(javax.media.opengl.GL gl)
          Here should be done preparation for rendering (e.g. generation of display lists from massive data)
 void render(javax.media.opengl.GL gl)
          Display stuff you want to.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UTAgentSubGLRenderer

public UTAgentSubGLRenderer(IRenderableUTAgent utAgent,
                            cz.cuni.amis.pogamut.unreal.communication.worldview.map.IUnrealMap map)
Create a new subrenderer with passed agent as source of data.

Parameters:
renderableUTAgent - agent used as source of data.
Method Detail

prepare

public void prepare(javax.media.opengl.GL gl)
Description copied from interface: ISubGLRenderer
Here should be done preparation for rendering (e.g. generation of display lists from massive data)

Specified by:
prepare in interface ISubGLRenderer<IRenderableUTAgent>

getObject

public IRenderableUTAgent getObject()
Description copied from interface: ISubGLRenderer
Return object this renderer draws. Because objects we want to draw can change rapidly, we have to remove and add subrenderers based on passed objects (renderer R draws object A, now we don't want to draw A anymore, we have to go through subrenderers to find which ones draws it).

Specified by:
getObject in interface ISubGLRenderer<IRenderableUTAgent>
Returns:
Object this renderer draws.

render

public void render(javax.media.opengl.GL gl)
Description copied from interface: ISubGLRenderer
Display stuff you want to. Assume that settings have already been set in GLRendererCollection

Specified by:
render in interface ISubGLRenderer<IRenderableUTAgent>

getBlendedTris

public List<BlendTriangle> getBlendedTris()
Description copied from interface: ISubGLRenderer
Because blending phase of rendering can be done only after all opaque objects has been drawn and because polys has to be back-to-front ordered every renderer will return list of its blended triangles so final renderer can sort all blended triangles from all blended renderers and do it correctly.

Specified by:
getBlendedTris in interface ISubGLRenderer<IRenderableUTAgent>
Returns:
List of blended triangles this renderer wants to render. Empty collection if no such exists.


Copyright © 2013 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.