2010-07-03 36 views
5

在新iPhone 4上测试我的openGL ES应用程序时,看起来好像openGL并没有使用全部326 ppi,而是因为显着的像素化而在3G上找到了163 ppi。我意识到有4倍的像素来计算,但不应该A4芯片弥补这一点?iOS 4的全部326 ppi可以用于openGL吗?

我确定有一种方法可以利用令人惊叹的分辨率,正如我在iTunes Store上的应用程序中看到的那样,但是如何?

回答

8

是的,它其实很容易。默认情况下,OpenGL视图使用旧的缩放模式,因为它是基于像素的API而不是基于点的API,因此不会破坏现有的应用程序。

要解决这个问题,请将您的CAEAGLLayer的contentsScale设置为2.0,并取得荣耀。

+1

oooooooohhhhhhh ... .. aaaaahhhhhhhhhhhhhh ..我现在可以看到光!谢谢! – pop850 2010-07-03 03:10:29

1

不太熟悉CAEAGLLayer,将contentScale设置为2.0的语法是什么?

+0

'layer.contentScale = 2.0f' – 2010-07-03 07:50:22

+0

嗯,这就是我首先想到的,但编译器声称它没有这样的成员?我的代码: CAEAGLLayer * eaglLayer =(CAEAGLLayer *)self.layer; eaglLayer.contentScale = 2.0; 也 eaglLayer-> contentScale = 2.0; 不工作......我一定在这里错过了一些非常愚蠢的东西...... – sinsro 2010-07-03 08:07:46

+0

好吧,现在就明白了。似乎你有一个错字,它应该是layer.contentsScale = 2.0f;另外,最好指出这需要SDK 4.0。 :) – sinsro 2010-07-03 09:56:19