我想在纹理大小更改时更新我的 NSOpenGLView 窗口。没关系。发生这种情况时我注册了事件,但无法调整 OpenGLView 的大小。正在更改的值是 w
和 h
。
-(void)initOpenGL {
NSSize size = {w, h};
[self setFrameSize:size];
NSOpenGLContext *glcontext;
glcontext = [self openGLContext];
[glcontext makeCurrentContext];
glMatrixMode(GL_PROJECTION);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glOrtho(0.0, h, 0.0, w, -1.0, 10.0);
}
当应用程序启动时,它工作正常,但是当我在任何这些尺寸更改后执行[self initOpenGL]
时,OpenGL View 变黑,并且不再工作。
最佳答案
您可能需要调用[glcontext update]
和glViewport(0,0,oglWidth,oglHeight)
来调整 View 大小的变化。
关于objective-c - 更新 NSOpenGLView 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577125/