gpt4 book ai didi

opengl - 使用 GLFW + GLEW 时 glGenFramebuffers() 访问冲突

转载 作者:行者123 更新时间:2023-12-02 09:54:19 25 4
gpt4 key购买 nike

我收到此错误:

"Access violation executing location 0x00000000."

当我在 Windows 上使用 GLFW + GLEW 时。

我正在使用 Windows 7。我也有自己的实现(从头开始),它创建一个窗口、初始化 OpenGL 上下文、初始化 GLEW 等......并且一切正常。当然,我的显卡具有帧缓冲区功能,并且驱动程序一切都很好...只有当我尝试使用 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 );

...
}

最佳答案

GLEW 在使用核心 OpenGL 配置文件时存在已知问题。您可以使用 the GLEW workaround或放弃 GLEW 并选择 extension loaders that actually work .

关于opengl - 使用 GLFW + GLEW 时 glGenFramebuffers() 访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com