0

OpenGL ビューで Cocoa アプリを実行するたびに、白いウィンドウが表示されます。私が期待しているのは、黒いウィンドウが表示されることです。

drawRect メソッドが呼び出されることをブレークポイントで確認しました。

以下のコード。

.h

#import <Cocoa/Cocoa.h>
#import <OpenGL/OpenGL.h>
#import <GLUT/GLUT.h>

@interface OpenlGLTest : NSOpenGLView

- (void) drawRect:(NSRect)dirtyRect;
@end

.m

#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

私のプロジェクトは、警告やエラーなしでビルドされます。画面が黒ではなく白である理由がわかりません。

4

1 に答える 1

3

試してみてくださいglClearColor(0.0, 0.0, 0.0, 1.0);。コードの最後0はアルファ係数であるため、GLView.

于 2013-03-30T03:55:32.207 に答える