@@ -0,0 +1,1409 @@
+package org.cg.aquarium.infrastructure;%0A%0Aimport com.sun.opengl.util.texture.Texture;%0Aimport com.sun.opengl.util.texture.TextureData;%0Aimport com.sun.opengl.util.texture.TextureIO;%0Aimport java.io.IOException;%0Aimport java.io.InputStream;%0Aimport java.util.HashMap;%0Aimport javax.media.opengl.GLException;%0A%0A/**%0A * Texture Loader.%0A *%0A * Loads textures once and keep them in memory to avoid repetition in%0A * Environment elements.%0A *%0A * @author ldavid%0A */%0Apublic class TextureLoader %7B%0A%0A    HashMap%3CString, Texture%3E textures;%0A%0A    public TextureLoader() %7B%0A        textures = new HashMap%3C%3E();%0A    %7D%0A%0A    public Texture load(String name) %7B%0A        return load(name, name);%0A    %7D%0A%0A    public Texture load(String name, String path) %7B%0A        return load(name, path, %22png%22);%0A    %7D%0A%0A    public Texture load(String name, String path, String format) %7B%0A        Texture t = textures.get(name);%0A%0A        if (t == null) %7B%0A            try %7B%0A                InputStream stream = getClass().getResourceAsStream(path);%0A                TextureData data = TextureIO.newTextureData(stream, false, format);%0A                t = TextureIO.newTexture(data);%0A                textures.put(name, t);%0A%0A            %7D catch (IOException %7C GLException %7C IllegalArgumentException ex) %7B%0A                System.out.println(String.format(%22Could not load texture %7B%25s%7D.%22,%0A                        path));%0A            %7D%0A        %7D%0A%0A        return t;%0A    %7D%0A%7D%0A

Add TextureLoader class