org.deegree.rendering.r3d.opengl.rendering.dem.manager
Class TextureManager

java.lang.Object
  extended by org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureManager

public class TextureManager
extends Object

Manages the loading, unloading and caching of FragmentTexture objects and the enabling/disabling in a certain GL context.

Version:
$Revision: 29127 $, $Date: 2011-01-10 16:13:35 +0100 (Mon, 10 Jan 2011) $
Author:
Markus Schneider, last edited by: $Author: aschmitz $

Constructor Summary
TextureManager(DirectByteBufferPool directByteBufferPool, TextureTileManager tileManager, double[] translationToLocalCRS, int maxFragmentTexturesInGPUMemory, int requestTimeout)
           
 
Method Summary
 void cleanUp(javax.media.opengl.GL gl)
          Cleans up all cached textures from this managers, which were marked as least recently used.
 void enable(Collection<FragmentTexture> textures, javax.media.opengl.GL gl)
          Enables this TextureManager.
 double getMatchingResolution(double unitsPerPixel)
           
 int getRequestTimeout()
           
 Map<RenderMeshFragment,FragmentTexture> getTextures(RenderContext glRenderContext, float maxProjectedTexelSize, Set<RenderMeshFragment> fragments)
          Retrieves view-optimized textures for the RenderMeshFragments.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TextureManager

public TextureManager(DirectByteBufferPool directByteBufferPool,
                      TextureTileManager tileManager,
                      double[] translationToLocalCRS,
                      int maxFragmentTexturesInGPUMemory,
                      int requestTimeout)
Parameters:
directByteBufferPool - to be used for the textures
tileManager - managing all tiles
translationToLocalCRS - the translation vector
maxFragmentTexturesInGPUMemory -
requestTimeout - in miliseconds
Method Detail

getMatchingResolution

public double getMatchingResolution(double unitsPerPixel)
Parameters:
unitsPerPixel -
Returns:
the matching resolution

getTextures

public Map<RenderMeshFragment,FragmentTexture> getTextures(RenderContext glRenderContext,
                                                           float maxProjectedTexelSize,
                                                           Set<RenderMeshFragment> fragments)
Retrieves view-optimized textures for the RenderMeshFragments.

Parameters:
glRenderContext -
maxProjectedTexelSize -
fragments -
Returns:
view-optimized textures, not necessarily enabled

enable

public void enable(Collection<FragmentTexture> textures,
                   javax.media.opengl.GL gl)
Enables this TextureManager.

Parameters:
textures -
gl -

cleanUp

public void cleanUp(javax.media.opengl.GL gl)
Cleans up all cached textures from this managers, which were marked as least recently used.

Parameters:
gl - the context to which the textures were bound.

toString

public String toString()
Overrides:
toString in class Object

getRequestTimeout

public int getRequestTimeout()
Returns:
the requestTimeout


Copyright © 2011. All Rights Reserved.