Я получаю эту ошибку:glGenFramebuffers() нарушение прав доступа при использовании GLFW + GLEW
"Access violation executing location 0x00000000."
, когда я использую GLFW + GLEW на Windows.
Я использую Windows 7. У меня также есть своя реализация (с нуля), которая создает окно, инициализирует контекст OpenGL, инициализирует GLEW и т. Д. ... и все работает нормально. Так что, конечно, у моей видеокарты есть функция Frame Buffer, и все в порядке с драйверами ... проблема возникает, когда я пытаюсь использовать GLFW.
Любое предложение?
Код:
void start()
{
if(!glfwInit())
{
glfwTerminate();
throw exception("Failed to initialize GLFW");
}
glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
if(!glfwOpenWindow(m_width, m_height, 0, 0, 0, 0, 32, 0, GLFW_WINDOW))
{
throw exception("Failed to open GLFW window.");
glfwTerminate();
}
if (glewInit() != GLEW_OK)
{
throw exception("Failed to initialize GLEW");
}
// texture
glGenTextures(1, &m_texture);
glBindTexture(GL_TEXTURE_2D, m_texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_width, m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
// frame buffer
glGenFramebuffers(1, &m_frameBuffer); // IT CRASHES HERE! :-(
glBindFramebuffer(GL_FRAMEBUFFER, m_frameBuffer);
glBindTexture(GL_TEXTURE_2D, m_texture);
...
}
Итак, вы пытаетесь сказать мне, что вы внедрили OpenGL самостоятельно, считая, что у вас есть своя реализация с нуля? –
Также вы можете показать нам код рядом или рядом с тем, где это происходит вместе с вашим кодом инициализации? –
lol .... извините ... я забыл немного слова ... Я исправлю это ... –