アップデート20180912-GLEWを使用しないでください。トラブルの価値はありません...
ソースから使用してGLEWをインストールしました。
GLEW_DEST = "$ HOME / local" OPT = "-march = core2-O2"install.allを作成します
最適化と宛先は異なる場合があります。これにより、libGLEW.a、libGLEWmx.a、およびそれらの対応するdylibが生成され$HOME/local/lib
ます。pkgconfig
サブディレクトリには、も含まれますglew.pc
。GLEWは、他の人とも常にうまく機能するとは限りません。のようなグローバルを設定する必要があります。また、glewExperimental
他のヘッダーを含める順序に注意する必要があります:<OpenGL/gl3.h>
または<glfw.h>
など。
アドバイスがあれば、最新のGLプログラミングのSDLを忘れてください。OS Xで純粋で最新のGLを使いたい場合は、-次のようなことを検討してください。
#if defined (__APPLE_CC__)
#include <OpenGL/gl3.h>
#else
#include <GL/gl3.h> /* assert OpenGL 3.2 core profile available. */
#endif
#define GLFW_INCLUDE_GL3 /* don't drag in legacy GL headers. */
#define GLFW_NO_GLU /* don't drag in the old GLU lib - unless you must. */
#include <GL/glfw.h> /* simple and easy to use. omit legacy GL. */
GLFWのインストールも非常に簡単です。
> env PREFIX = "$ HOME / local" CFLAGS = "-march = core2 -O2" make cocoa cocoa-dist-install
繰り返しますが、設定は異なる場合があります。
20160412:他の人が指摘しているように、SDLに関する私のコメントは古くなっています。特に、まだ別のエンジンに取り組んでいる場合。glfw3は、OSXで最新のOpenGLアプリを作成するためのより簡単な方法であると私は主張します。それは非常によく書かれ、維持されているコードであり、GLとイベント処理に(正しく!)狭い焦点を当てています。明らかに、「エンジン」の観点から、SDL2はポータブル拡張ビデオAPI、オーディオAPI、スレッドAPIなどを提供しています。C11およびC ++ 11では、スレッドAPI抽象化レイヤーでさえおそらく冗長です。
GLEWは、ユーザーの広範な介入なしに複数のコンテキストを処理できないという点で問題があります。これは、コアプロファイルAPIを提供し、「ファンクションポイント」をロードする必要がないOSXの問題ではありません。IIRC、GL on X(DRI?)にもこれがありますが、私はそれについて間違っているかもしれません。そこに他のローダーがあります。私はまだそれらすべてを支配するのを待っています。これにより、必要に応じて複数のコンテキストに対して異なる関数ポインターがロードされ、最新のglから生成できる正しいディスパッチにスレッドローカル(またはpthreadキー)が使用されます。 Khronosからの.xml、または誰でも...
20180912
今のところ最も簡単なアプローチは、GLFWを使用してコンテキストを提供し、GLADを使用してGL関数ポインターを解決することだと思います。唯一の欠点は、複数のGLコンテキストを効果的に管理できないことです。これは、GLFWが現在デモで使用しているものです...この時点でGLEWを完全に忘れてしまいます。