Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Cocoa OpenGL始终为白色_Objective C_Cocoa_Opengl - Fatal编程技术网

Objective c Cocoa OpenGL始终为白色

Objective 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,

每次我用OpenGL视图运行Cocoa应用程序时,我都会看到一个白色窗口。我预计会出现一扇黑色的窗户

我已经用断点验证了drawRect方法是否被调用

代码如下

h

#导入
#进口
#进口
@接口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