Hallo Community,
beim freigeben einer Textur mittels OpenGL habe ich das Problem das die Textur-ID zwar freigegeben wird, aber die Datei auf der Platte weiterhin in Benutzung ist, solange wie das Spiel noch läuft.
Textur wird geladen mittels:
Textur wird in OpenGL freigegeben mit:
Hat jemand eine Idee oder vielleicht eine Lösung wie ich die Datei nun wieder freigeben kann? Am besten wäre wenn dies auch mittels der id gehen würde, sprich ohne Dateinamen.
Vielen Dank
beim freigeben einer Textur mittels OpenGL habe ich das Problem das die Textur-ID zwar freigegeben wird, aber die Datei auf der Platte weiterhin in Benutzung ist, solange wie das Spiel noch läuft.
Textur wird geladen mittels:
Java:
public int loadTexture(String fileName){
try {
Texture texture = TextureLoader.getTexture("PNG", new FileInputStream("res/textures/"+fileName+".png"));
GL30.glGenerateMipmap(GL11.GL_TEXTURE_2D);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR_MIPMAP_LINEAR);
GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL14.GL_TEXTURE_LOD_BIAS, 0.5f);
int textureID = texture.getTextureID();
this.textures.add(textureID);
return textureID;
} catch (IOException ex) {
Logger.getLogger(ModelLoader.class.getName()).log(Level.SEVERE, null, ex);
}
return 0;
}
Textur wird in OpenGL freigegeben mit:
Java:
public void unloadTexture(int id){
GL11.glDeleteTextures(id);
this.textures.remove(id);
}
Hat jemand eine Idee oder vielleicht eine Lösung wie ich die Datei nun wieder freigeben kann? Am besten wäre wenn dies auch mittels der id gehen würde, sprich ohne Dateinamen.
Vielen Dank
Zuletzt bearbeitet von einem Moderator: