0
GLUT을 사용하여 큐브를 그려야하는 간단한 응용 프로그램을 만들고 있습니다.
일반 C로 OpenGL을 연구 했으므로 glutInit과 같은 함수를 더 이상 호출 할 필요가 없기 때문에 어떤 함수를 호출하여 컨텍스트를 초기화해야하는지 이해하기가 어렵습니다.
그래서 나는 윈도우 NSOpenGLView, 장애인 한방 메모리를 서브 클래 싱이 코드를 썼다 :코코아와 OpenGL : 큐브 그리기에 실패했습니다
@implementation MyView
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
NSOpenGLContext* context=[self openGLContext];
[context makeCurrentContext];
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, 0, -100, 0, 0, 0, 0, 1, 0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, 1, 1, 1000);
glShadeModel(GL_SMOOTH);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_DEPTH_TEST);
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor4f(1, 0, 0, 0);
glutSolidCube(10);
glFlush();
}
을하지만 블랙 뷰가 아닌 큐브를 볼 수 있기 때문에 내가 뭔가를 놓친 것 같은 것 같습니다.
죄송합니다. 저는 이미 initWithFrame 메소드에 있습니다. –
나는 무엇을 의미하는지 모르겠다. prepareOpenGL이라는 메서드에 있어야한다. – combinatorial
오, 그래, 미안해. 좋은 대답, 그게 문제를 해결. –