我正在使用 OpenGL ES 为 android 开发相当简单的 2D 游戏。我希望它可以在市场上几乎所有的设备上运行。我面临的问题是,当我映射我使用的纹理时。如果我要映射的图像与其目标对象的大小不同,则图像质量会降低(即使图像的大小大于对象),它也会被像素化。我想要非常清晰的图像,接收它们的唯一方法是使用相同尺寸的纹理和对象。但在这种情况下,我需要 4,5 个纹理来代表不同尺寸的同一图像,以支持足够的屏幕分辨率。我正在使用 PNG 图像和以下 GL 方法:
glClear(GL10.GL_COLOR_BUFFER_BIT);
glEnable(GL10.GL_TEXTURE_2D);
glEnable(GL10.GL_BLEND);
glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
//drawing happens here
glDisable(GL10.GL_BLEND);
创建这么多图像对我来说没有问题,但是游戏的大小会变大。我做错了什么,或者只是 OpenGL 不能像 Photoshop 那样调整图像的大小?