2010-01-20 4 views
3

J'écris une application qui doit utiliser OpenGL, sur Mac, en C++.Comment écrire une application Cocoa OpenGL en C++?

Y a-t-il un moyen pour que Cocoa me donne un contexte OpenGL et me permette de faire mon travail en C++? (Je veux que mon application fonctionne sur Mac OS X et iPHone, mais toute l'interface graphique est en OpenGL, j'ai juste besoin d'un contexte OpenGL).

Merci!

Répondre

6

Vous ne pouvez pas échapper à une quantité minimale de code objectif-C. Toutefois, si vous renommez les fichiers C de l'objectif en fichiers .mm, le code C de l'objectif pourra appeler les méthodes de classe C++. Cela signifie que vous pouvez attacher le -drawRect (et d'autres messages NSOpenGLView pertinents) à votre implémentation C++ OpenGL. NSOpenGLView possède une méthode -makeCurrent que vous pouvez appeler en dehors de drawRect pour vous assurer que le contexte OpenGL correct est actif.

Votre code C++ peut alors simplement appeler des fonctions gl si nécessaire.

2

Regardez dans NSOpenGLView. Dans drawRect: dans votre sous-classe, vous pouvez accéder au contexte de la vue et appeler votre code OpenGL.

Questions connexes