Retina显示图像质量问题

Aar*_*ron 6 iphone opengl-es retina-display

我试图让我的OPENGL ES应用程序支持视网膜显示.我添加了带有@ 2x扩展名的图像,并将内容比例因子设置为2.高分辨率图像正确地进入屏幕但是它的质量损失很大.边缘和模糊,它没有我添加到资源文件夹中的图像质量.

我怎样才能解决这个问题?

Qui*_*son 5

我的应用程序基于默认框架,我在基于Retina的设备上运行时遇到此问题.具体来说,我的帧缓冲是按照我想要的320x480而不是640x960创建的.对不起詹姆斯,但这不是自动的,因为问题在于renderBufferStorage创建的帧缓冲:fromDrawable :(代表我们调用glRenderbufferStorage但是默认情况下指定布局像素而不是宽度和高度的本机设备像素).

我在initWithCoder中设置eaglLayer.drawableProperties的行行下面添加了以下代码:EAGLView.m中:

UIScreen *mainScreen = [UIScreen mainScreen];
if ([mainScreen respondsToSelector:@selector(scale)])
{
    // iOS 4.0 and up (further to simeon's comment)
    const CGFloat scale = mainScreen.scale;
    self.contentScaleFactor = scale;
    eaglLayer.contentsScale = scale;
}
Run Code Online (Sandbox Code Playgroud)

感谢David Amador的帖子,指出我正确的方向.最近感谢simeon的有益评论.