我目前正在将我的 iPhone 游戏移植到 iPhone 5 分辨率。我包括了 Default-568h@2x.png 和
[[UIscreen mainScreen] bounds].size;
给了我 iPhone 5 的分辨率(320x568px)。但是我在 OpenglES 1.1 中创建的 renderBuffer 只能获得旧的 iPhone 分辨率(640x960px)。我创建渲染缓冲区的方式如下所示:
glGenFramebuffersOES(1, &viewFramebuffer);
glGenRenderbuffersOES(1, &viewRenderbuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer*)self.layer];
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, viewRenderbuffer);
GLint frameBufferWidth, frameBufferHeight;
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &frameBufferWidth);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &frameBufferHeight);
当我在 iPhone 5 上运行游戏时,游戏只覆盖了屏幕的前 960 像素并被挤压。
有人知道如何创建适合 iPhone 5 屏幕大小的渲染缓冲区吗?