Package com.badlogic.gdx.graphics
Class Texture
- java.lang.Object
-
- com.badlogic.gdx.graphics.GLTexture
-
- com.badlogic.gdx.graphics.Texture
-
- All Implemented Interfaces:
Disposable
public class Texture extends GLTexture
A Texture wraps a standard OpenGL ES texture.A Texture can be managed. If the OpenGL context is lost all managed textures get invalidated. This happens when a user switches to another application or receives an incoming call. Managed textures get reloaded automatically.
A Texture has to be bound via the
GLTexture.bind()method in order for it to be applied to geometry. The texture will be bound to the currently active texture unit specified viaGL20.glActiveTexture(int).You can draw
Pixmaps to a texture at any time. The changes will be automatically uploaded to texture memory. This is of course not extremely fast so use it with care. It also only works with unmanaged textures.A Texture must be disposed when it is no longer used
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTexture.TextureFilterstatic classTexture.TextureWrap
-
Constructor Summary
Constructors Modifier Constructor Description Texture(int width, int height, Pixmap.Format format)protectedTexture(int glTarget, int glHandle, TextureData data)Texture(FileHandle file)Texture(FileHandle file, boolean useMipMaps)Texture(FileHandle file, Pixmap.Format format, boolean useMipMaps)Texture(Pixmap pixmap)Texture(Pixmap pixmap, boolean useMipMaps)Texture(Pixmap pixmap, Pixmap.Format format, boolean useMipMaps)Texture(TextureData data)Texture(java.lang.String internalPath)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidclearAllTextures(Application app)Clears all managed textures.voiddispose()Disposes all resources associated with the texturevoiddraw(Pixmap pixmap, int x, int y)Draws the givenPixmapto the texture at position x, y.intgetDepth()intgetHeight()static java.lang.StringgetManagedStatus()static intgetNumManagedTextures()TextureDatagetTextureData()intgetWidth()static voidinvalidateAllTextures(Application app)Invalidate all managed textures.booleanisManaged()voidload(TextureData data)protected voidreload()Used internally to reload after context loss.static voidsetAssetManager(AssetManager manager)Sets theAssetManager.java.lang.StringtoString()-
Methods inherited from class com.badlogic.gdx.graphics.GLTexture
bind, bind, delete, getAnisotropicFilter, getMagFilter, getMaxAnisotropicFilterLevel, getMinFilter, getTextureObjectHandle, getUWrap, getVWrap, setAnisotropicFilter, setFilter, setWrap, unsafeSetAnisotropicFilter, unsafeSetAnisotropicFilter, unsafeSetFilter, unsafeSetFilter, unsafeSetWrap, unsafeSetWrap, uploadImageData, uploadImageData
-
-
-
-
Constructor Detail
-
Texture
public Texture(java.lang.String internalPath)
-
Texture
public Texture(FileHandle file)
-
Texture
public Texture(FileHandle file, boolean useMipMaps)
-
Texture
public Texture(FileHandle file, Pixmap.Format format, boolean useMipMaps)
-
Texture
public Texture(Pixmap pixmap)
-
Texture
public Texture(Pixmap pixmap, boolean useMipMaps)
-
Texture
public Texture(Pixmap pixmap, Pixmap.Format format, boolean useMipMaps)
-
Texture
public Texture(int width, int height, Pixmap.Format format)
-
Texture
public Texture(TextureData data)
-
Texture
protected Texture(int glTarget, int glHandle, TextureData data)
-
-
Method Detail
-
load
public void load(TextureData data)
-
reload
protected void reload()
Used internally to reload after context loss. Creates a new GL handle then callsload(TextureData). Use this only if you know what you do!
-
draw
public void draw(Pixmap pixmap, int x, int y)
Draws the givenPixmapto the texture at position x, y. No clipping is performed so you have to make sure that you draw only inside the texture region. Note that this will only draw to mipmap level 0!- Parameters:
pixmap- The Pixmapx- The x coordinate in pixelsy- The y coordinate in pixels
-
getWidth
public int getWidth()
-
getHeight
public int getHeight()
-
getDepth
public int getDepth()
-
getTextureData
public TextureData getTextureData()
-
isManaged
public boolean isManaged()
-
dispose
public void dispose()
Disposes all resources associated with the texture- Specified by:
disposein interfaceDisposable- Overrides:
disposein classGLTexture
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
clearAllTextures
public static void clearAllTextures(Application app)
Clears all managed textures. This is an internal method. Do not use it!
-
invalidateAllTextures
public static void invalidateAllTextures(Application app)
Invalidate all managed textures. This is an internal method. Do not use it!
-
setAssetManager
public static void setAssetManager(AssetManager manager)
Sets theAssetManager. When the context is lost, textures managed by the asset manager are reloaded by the manager on a separate thread (provided that a suitableAssetLoaderis registered with the manager). Textures not managed by the AssetManager are reloaded via the usual means on the rendering thread.- Parameters:
manager- the asset manager.
-
getManagedStatus
public static java.lang.String getManagedStatus()
-
getNumManagedTextures
public static int getNumManagedTextures()
- Returns:
- the number of managed textures currently loaded
-
-