Open GL Kontext erstellen und Funktionen laden unter Mac OS X
-
Huhu,
Ich will mich (wieder mal) ein bisschen in Open GL einarbeiten und wüsste gerne, wie man am einfachsten unter OS X 10.6 den Open GL Kontext erstellen und die Funktionen aus der Lib (oder woher auch immer) laden kann. An GLUT stört mich, dass ich den Main-Loop nicht beenden kann und bei dessen Ende die Anwendung einfach beendet wird.
Grüße,
PI
-
Irrlicht? Ist meines Wissens auf auf MacOS lauffähig, kannst du kompilieren, wie du lustig bist, und auch den Device auswählen. Mir hat gefallen, dass ich, wenn ich alle Parameter erhalte, mitten in der Anwendung das Interface ändern kann - von DirectX in einer Sekunde in OpenGL ...
Problem ist, dass es eher zielorientiert ist, OpenGL wird da eher abgekapselt. Hat aber den Vorteil, dass du den Code wie gehabt in
main
ausführen lassen kannst, also auch die Mainloop, und wenn die beendet wird, kannst du darauf reagieren.
-
Bloß nicht Irrlicht, das ist mir zu hässlich
Ist zwar nett, mir eine Engine zu empfehlen, aber ich würde ganz gerne direkt mit Open GL arbeiten.
-
Mein ich ja - eher zielorientiert.
Ach, von Irrlicht kennst du bloß die Screenshots, und die sind Jahre alt. Ich habe ein 10 Jahre altes Spiel mit den Rohdaten aus einem Modding-Kit richtig schön aussehen lassen.
Aber schon klar, der Weg ist das Ziel ... google doch einfach 'opengl-Framework', und sieh dir an, was du so findest.
-
SDL ist vielleicht was für dich (Man kann damit auch OpenGL Fenster erstellen. Außerdem bindet SDL_OpenGL.h (ich hoffe, der Name ist richtig) je nach Plattform die richtigen OpenGL header ein.
-
freeglut hat zwar die von mir oben genannten Probleme nicht, aber ich finde einfach nicht die richtige lib, gegen die ich linken muss.
-
Ich würd jetzt mal sagen:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSOpenGLContext_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40004074
oder
http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGL_OpenGL/Reference/reference.html#//apple_ref/c/func/CGLChoosePixelFormat