我正在制作 OpenGL 游戏,并希望同时支持纵向和横向。我编写了所有必要的代码来支持自动旋转,并希望通过以下方式通知我的游戏关于视口大小的变化
[[NSNotificationCenter defaultCenter] addObserver: self selector:
@selector(orientationChanged:)
name: UIDeviceOrientationDidChangeNotification
object: nil];
它可以旋转,但问题是图像仍然垂直渲染!我通过调用重新生成帧缓冲区layoutSubviews
。但是这些代码返回垂直方向
int width, height;
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES
, GL_RENDERBUFFER_WIDTH_OES, &width);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES
, GL_RENDERBUFFER_HEIGHT_OES, &height);
如何设置帧大小以使图像正确显示(水平)?