OpenGL函数的访问冲突,注入现有的上下文

时间:2017-04-24 18:57:47

标签: c++ opengl hook access-violation glew

我一直在为添加着色器的旧游戏开发一个黑客。 dll拦截opengl调用,然后根据需要修改渲染管道。我用glew加载扩展函数。我第一次测试在不同于我主要开发的计算机上编译和使用.dll。

我之前在这台新机器上运行过这个dll的构建,但现在,当我从这台机器上的工作源编译dll并尝试使用它时,我收到了访问冲突许多gl *函数调用(glGenTexturesglBindTexture),如下所示:

Unhandled exception at 0x0C941CA3 in Game.exe: 0xC0000005: Access violation reading location 0xD8EBE92C. occurred

为了初始化glew,我在拦截第一个glewInit电话时拨打glSwapBuffers。 AFAIK告诉我上下文已经存在,并且在此init步骤之后调用gl调用。我在启用glewExperimental的情况下尝试了此操作。当我收到这些错误时,我没有迹象表明glew没有正确初始化(glewInit() == GLEW_OK

我是否遗漏了有关机器间OpenGL / glew可用性的信息?

它正常运行的主要开发机器有一台运行在Windows 10上的Nvidia Geforce GTX 660ti,使用VS2015进行编译

它失败的二次开发机器,在Windows 7上运行“AMD FirePro M6100 FireGL V”,用VS2017编译

0 个答案:

没有答案