当我运行以下open gl命令时,它只会将ipad屏幕的左下部分涂成红色。
glClearColor(255.0f,0.0f,0.0f,0.0f);
如何制作,让整个画面变成红色?
谢谢!
答案 0 :(得分:2)
您可能没有将帧缓冲区设置为正确的大小。如果您使用的是iPhone 4,最常见的错误是使用报告的视图尺寸,这与之前的型号相同,即使iPhone 4的分辨率是其两倍。
以下是我在我的应用程序中的操作方式(重要提示:这对我来说都是黑魔法,所以请带上一粒盐,请不要让我解释):
- (BOOL)resizeFromLayer:(CAEAGLLayer *)layer {
glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:layer];
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &vWidth);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &vHeight);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderBuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, vWidth, vHeight);
if (glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES)
{
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES));
return NO;
}
return YES;
}
答案 1 :(得分:1)
glViewport()
不起作用吗?
答案 2 :(得分:0)
我使用为iPhone制作的示例代码在iPad上
代码中的窗口大小是否可能硬编码为较小的iPhone屏幕尺寸?
修改强>
这个idevgames forum post看起来像xcode问题(不是OpenGL),原因是:
两种解决方案,我都没有测试过:
1)
UIWindow调整大小可以通过使用Interface Builder手动将.xib文件转换为iPad版本来实现。 在iOS 4.0 Release Notes已知问题 - > Xcode部分中提到了这一点 这对我有用。
2)
为自己省去很多麻烦,只需在xcode中创建一个新的iPad OGLES应用程序,一切都已经设置好并为您工作,将您的旧xcode项目中的文件拖到新的xcode项目中,用正确的xib更新xib app delate和你的完成。我今天必须开始一个全新的项目并且只是为了获得MF# !! FS#$ *!代码签名工作。