JPEG を球体にロードする際に問題が発生しています。現在、これを機能させる唯一の方法は、イメージをロードするクラスと同じパッケージにイメージを含めることです。問題は、クラスが混在する 1 つのパッケージの下に 500 以上のテクスチャをすべて持ちたくないということです。組織上の理由から、フォルダーとサブフォルダーに入れたいと思います。
テクスチャが同じパッケージにある場合、これは機能します。
InputStream iStream = null;
try
{
iStream = getClass().getResourceAsStream(imageFile);
TextureData data = TextureIO.newTextureData(iStream, false, null);
testTex[i] = TextureIO.newTexture(data);
testTex[i].getImageTexCoords();
testTex[i].setTexParameteri(GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
testTex[i].setTexParameteri(GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_NEAREST);
iStream.close();
...
画像を取得するメソッドは、次の形式で取得します。
String[] texture = { "bar1.jpg", "bar2.jpg" }; // imageFile is whichever is called
上記のコードは完全に機能しますが、欠点は、テクスチャを呼び出しているクラスと同じパッケージ内にすべてのテクスチャを格納する必要があることです。しかし、プロジェクト内のフォルダーからこのようなテクスチャを呼び出したい:
String[] texture = { "res/foo/bar2.jpg", "res/foo/bar2.jpg" };
プロジェクト内のフォルダー内のテクスチャを検索するには、上記のコードをどのように変更すればよいですか?