我目前正在将我的iPhone游戏移植到iPhone 5的分辨率。我包括[email protected]和opengl 1.1 renderbuffer generation只有960px而不是1136px宽度
[[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屏幕大小的渲染缓冲区?
您是否在模拟指标部分设置了大小选项?因为这似乎只影响界面构建器中显示的大小,而不影响设备上实际运行的大小。 –
我可以问你给我看一个你的MainWindow和EAGLView属性的截图,我无法得到这个工作正常。谢谢。 – Marc