64位Glew运行正常但不显示内容
大家好,很多年不发帖了。
我有一个用OpenGL开发的跨平台软件,在macOS和Windows上运行。
我的Windows开发环境:在苹果机上的VirtualBox虚拟机里安装的Windows 7旗舰版, VS 2010旗舰版,glew最新版,OpenGL用到2.0版的功能,用到顶点和面片着色器程序。
以前的Windows版软件是32位的,本来运行的好好的,用户突然提出要处理很大的3d模型,使用内存超出4G后崩溃,于是我试着用64位编译,编译很顺利,程序启动除了要找vcomp100.dll以外,没有其它错误,glew的各种API调用也都成功,但就是屏幕上什么东西也不显示,一片黑,其它功能正常,可以摸黑工作。
开始我以为是我的显卡驱动有Bug,让用户在他的机器上测试后,他的情况也是一样:32位的工作正常,64位的不显示内容。
看来不是显卡驱动的问题,否则不同的机器怎么都有同样的问题呢?是Window有Bug吗?怎么在网上搜不到多少帖子?
我现在能想到的解决方案有三个:
1. 不让用户处理大的模型,这个要求显然不合理。
2. 用Direct3D改写,但工作量大,代码不好维护。
3. 等待驱动程序升级或者Windows升级后问题自动消失,希望渺茫。
还有一个方法,是我哪里做错了什么,改正后问题就可以解决,这样当然最好啦。
哪位朋友有这方面的经验,请不吝赐教,我会不胜感激,谢谢。