Frage

habe ich ein neues Projekt und so ziemlich kopiert dieser Führer , aber immer, wenn ich rufe jede OpenGL-Funktion es die Stelle markiert // Drawing code here stürzt. Ich habe diese dort:

glViewport(0, 0, [self bounds].size.width, [self bounds].size.height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, [self bounds].size.width, [self bounds].size.height, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.375, 0.375, 0.0);

glClearColor(1, 1, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);

glColor3f(0, 0, 0);

glBegin(GL_LINES);
glVertex2f(10, 10);
glVertex2f(300, 300);
glEnd();

glFlush();

Aber gerade Aufruf einer OpenGL-Funktion stürzt, GDB: Program received signal: "EXC_BAD_ACCESS". Zunächst einmal berichten, wenn es funktioniert hat, ist dieser Code gut? Doing all das Zeug an der Spitze jedes Mal, es aufgerufen wird? Sein angenommenes für 2d sein, mit Ursprung im oberen linken. Und warum stürzt es? Ich habe jetzt Corevideo OpenGL und verknüpft und importiert ... Ich mag eine Cocoa-Anwendung bekommen einrichten OpenGL zu verwenden, so dass ich auf dem Spiel-Code konzentrieren kann.

Danke.

War es hilfreich?

Lösung

Der Artikel, den Sie verknüpft ist nicht wirklich ein komplettes Projekt - es ist nur eine Diskussion und Probe CVDisplayLink der Verwendung der Zeichnung Schleife zu fahren. Sie werden es besser machen wahrscheinlich mit Apples

Andere Tipps

Schauen Sie sich MyOpenGLView.m in Apple-Beispielcode für GLFullScreen . Sie nutzen CVDisplayLink erfolgreich. Das, was fehlt in „Driving OpenGL Rendering Loops“ ist die Tatsache, dass Sie einen Mutex hinzufügen müssen zwei Threads zu vermeiden, dass der gleichen opengl Kontext zugreifen.

Sie könnten versuchen, zu ersetzen ‚[self bounds] .size.width‘ mit Zahlen hartcodiert, um zu sehen, ob das Teil des Problems ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top