如何在NSOpenGLView的自定义实现中创建核心配置文件?我应该覆盖哪种方法以及我应该在哪些代码中添加?
到目前为止,我有这个代码:
// Header File
#import <Cocoa/Cocoa.h>
@interface TCUOpenGLView : NSOpenGLView
@end
// Source File
#import "TCUOpenGLView.h"
#import <OpenGL/gl.h>
@implementation TCUOpenGLView
- (void)drawRect:(NSRect)dirtyRect {
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
@end
Run Code Online (Sandbox Code Playgroud) 如果您在macOS Mojave上创建NSView和自定义NSOpenGLContext,则在调整窗口大小之前不会渲染窗口。但是,如果您NSOpenGLView改为使用,则一切正常。我看到很多的程序调整窗口的大小黑客(的http://people.bath.ac.uk/abscjkw/ComputerPrograms/C++programs/OpenGL/MojaveOpenGL.cpp渲染到它或调用之前)[NSOpenGLContext update]两次(https://开头github.com/go-gl/glfw/pull/229/commits/9e6129a572227a13ff9acb4904443d2ae7d66e77),但它们似乎确实很笨拙且不可靠。