Aar*_*ron 6 iphone opengl-es retina-display
我试图让我的OPENGL ES应用程序支持视网膜显示.我添加了带有@ 2x扩展名的图像,并将内容比例因子设置为2.高分辨率图像正确地进入屏幕但是它的质量损失很大.边缘和模糊,它没有我添加到资源文件夹中的图像质量.
我怎样才能解决这个问题?
我的应用程序基于默认框架,我在基于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的有益评论.
| 归档时间: |
|
| 查看次数: |
1934 次 |
| 最近记录: |