J'ai fait un nouveau projet et à peu près recopié this guide, mais chaque fois que j'appelle une fonction OpenGL en fait l'endroit marqué // Drawing code here
il se bloque. J'ai ce là:application Cocoa écraser sur appel OpenGL
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();
Mais appeler une fonction OpenGL se bloque il, les rapports GDB: Program received signal: "EXC_BAD_ACCESS".
Tout d'abord, si elle a fait le travail, est que le bon code? Faire tout ça au sommet chaque fois qu'on l'appelle? Son supposé être pour 2d, avec l'origine en haut à gauche. Et pourquoi est-ce que ça plante? J'ai CoreVideo et OpenGL liés et importés ... Je veux obtenir une application Cocoa mis en place pour utiliser OpenGL afin que je puisse me concentrer sur le code du jeu.
Merci.
Je ne vois pas l'endroit marqué "Code de dessin ici". –
En outre, vous pouvez utiliser le débogueur (ou le journal de plantage, lorsque vous n'exécutez pas votre application dans Xcode) pour trouver l'appel de fonction exact qui provoque le plantage. –
@Peter Hosey: Oh, c'était en fait '// Ajoutez vos codes de dessin ici'. Et j'ai utilisé le débogueur, il se bloque sur n'importe quel appel de fonction OpenGL. Mais si je le fais en utilisant -drawRect (ne pas utiliser CVDisplayLink), cela fonctionne. hmm ... – mk12