更改纹理大小后,我想更新我的NSOpenGLView窗口。没关系。当发生这种情况时,我会注册事件,但是无法调整OpenGLView的大小。正在更改的女巫的值是wh

-(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视图将变黑,并且不再起作用。

最佳答案

您可能需要调用[glcontext update]glViewport(0,0,oglWidth,oglHeight)来调整视图大小的更改。

10-08 03:40