【发布时间】:2012-05-29 05:11:11
【问题描述】:
我正在使用 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 一样调整图像大小?
【问题讨论】: