私はたくさんグーグルで検索しましたが、これに対する答えが見つかりませんでした。画像のロード方法は知っていますが、256 x 256 または 2 の累乗でない画像をロードする必要があります。
たとえば、128 x 384 などの画像を読み込むにはどうすればよいでしょうか。
私が今使っているもの:
画像をロードします。
public static Texture cow = loadTexture("res/cow.png");
private static Texture loadTexture(String file){
try {
return TextureLoader.getTexture("JPG", new FileInputStream(new File(file)));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
3D ポリゴン面に描画するには:
txt.bind();
GL11.glBegin(GL11.GL_QUADS);
{
//GL11.glColor3d(lightLevel, lightLevel, lightLevel);
GL11.glColor3d(l, l, l);
GL11.glTexCoord2f(0,0); GL11.glVertex3f(x1,y1, z1);
GL11.glTexCoord2f(1,0); GL11.glVertex3f(x1+(x2-x1), y1,z1);
GL11.glTexCoord2f(1,1); GL11.glVertex3f(x1+(x2-x1), y1+(y2-y1), z1+(z2-z1));
GL11.glTexCoord2f(0,1); GL11.glVertex3f(x1,y1+(y2-y1), z1+(z2-z1));
}
GL11.glEnd();
これで完璧に動作するようになりました。あとは、2 のべき乗でない画像を読み込むだけです。