Objective c Cocoa OpenGL始终为白色
每次我用OpenGL视图运行Cocoa应用程序时,我都会看到一个白色窗口。我预计会出现一扇黑色的窗户 我已经用断点验证了drawRect方法是否被调用 代码如下 hObjective c Cocoa OpenGL始终为白色,objective-c,cocoa,opengl,Objective C,Cocoa,Opengl,每次我用OpenGL视图运行Cocoa应用程序时,我都会看到一个白色窗口。我预计会出现一扇黑色的窗户 我已经用断点验证了drawRect方法是否被调用 代码如下 h #导入 #进口 #进口 @接口OpenlGLTest:NSOpenGLView -(void)drawRect:(NSRect)dirtyRect; @结束 m #包括 #导入“OpenlGLTest.h” @OpenlGLTest的实现 -(void)drawRect:(NSRect)边界 { glClearColor(0,0,
#导入
#进口
#进口
@接口OpenlGLTest:NSOpenGLView
-(void)drawRect:(NSRect)dirtyRect;
@结束
m
#包括
#导入“OpenlGLTest.h”
@OpenlGLTest的实现
-(void)drawRect:(NSRect)边界
{
glClearColor(0,0,0,0);
glClear(GLU颜色缓冲位);
glFlush();
[自我设置需要显示:是];
}
@结束
我的项目生成时没有警告和错误。我不知道为什么我的屏幕是白色而不是黑色。试试glClearColor(0.0,0.0,0.0,1.0)代码>。代码中的最后一个0
是alpha系数,因此它只是显示GLView
后面的内容尝试glClearColor(0.0,0.0,0.0,1.0)代码>。代码中最后一个0
是alpha系数,所以它只是显示GLView
后面的内容
#import <Cocoa/Cocoa.h>
#import <OpenGL/OpenGL.h>
#import <GLUT/GLUT.h>
@interface OpenlGLTest : NSOpenGLView
- (void) drawRect:(NSRect)dirtyRect;
@end
#include <OpenGL/gl.h>
#import "OpenlGLTest.h"
@implementation OpenlGLTest
- (void)drawRect:(NSRect)bounds
{
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
[self setNeedsDisplay:YES];
}
@end