5

すべてが正しくリンクされていると確信しています。最初は非公式 GLSDK の glload と glfw を使用していましたが、glload を廃止することにしました。つまり、最新のヘッダーを取得するには glew を使用する必要がありました。

#include <GL/glew.h>
#include <GL/glfw.h>

指示に従って glfw の前に glew を含めました。

実行時に OpenGL ウィンドウが開きます

//(relevant code)
if(!glewInit()) {return -1; }
if(!glfwInit()) {return -1; }
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
// also tried glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);

if(!glfwOpenWindow(1024, 768, 8, 8, 8, 8, 24, 8, GLFW_WINDOW)){
    glfwTerminate();
    return -1;
}

glfwSetWindowTitle("OpenGL 3.2");

//init method
glGenVertexArrays(1, &vao);  //<<  Access violation here.

私の問題は何ですか?

見てきた。「Glew で VBO を使用したアクセス違反」 でも仕方がありませんでした。

4

3 に答える 3

8

glewInitOpenGLコンテキストが作成され、現在のスレッドにバインドされた後、つまりあなたの場合は後で呼び出さglfwOpenWindowれます。

于 2012-12-19T01:32:41.663 に答える