ウィンドウの生成からGLコンテキストの作成、拡張ローダーの初期化と
適切な流れて初期化出来ているでしょうか?
C++
1 // OpenGLコンテキストの設定
2 glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
3 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
4 glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
5 glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE);
6
7 // ウィンドウの生成
8 auto window = glfwCreateWindow(WINDOW_WIDTH, WIDNWO_HEIGHT, WINDOW_TITLE, nullptr, nullptr);
9 if (!window)
10 {
11 glfwTerminate();
12 return EXIT_FAILURE;
13 }
14 // OpenGLコンテキストの作成
15 glfwMakeContextCurrent(window);
16
17 // OpenGL拡張ローダーの初期化
18 if (gl3wInit()) {
19 fprintf(stderr, "failed to initialize OpenGL\n");
20 return -1;
21 }
22 if (!gl3wIsSupported(4, 5)) {
23 fprintf(stderr, "OpenGL 4.5 not supported\n");
24 return -1;
25 }
26 // ここより下からOpenGLのAPIが使える
まずこれが1つ
もう1つは、
Macは持っていないのとソースコードが無い(と言うか無いと誰も答えられないと思う)ので憶測になってしまいますが、
Appleのサポート情報によるとMacでのOpenGLの実装は2017年現在の最新機種であっても4.1までに留まるようです。
OpenGL および OpenCL グラフィックスを扱う Mac コンピュータ
それに対して、glCreateBuffers
を使用するのに必要なOpenGLのバージョンは4.5以上となっています。
glCreateBuffers — create buffer objects
なので対応していない機能にアクセスしようとしてEXC_BAD_ACCESS
でこけているのではないかな?と
その辺はglfwSetErrorCallbackとかを使ったりしてエラーチェックをすれば、
要求したバージョンのコンテキストが作成出来なかった趣旨のメッセージが得られるのでは?と思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/08 16:57
退会済みユーザー
2017/12/08 17:47