奇怪的OPENGL不显示问题,高分求助

chj19821203 2008-10-21 12:17:18
问题描述起来比较复杂,请耐心看完,多谢


我在自己的一台电脑(A电脑)上建立一个基于对话框的工程,希望能够在对话框中添加一个view,以便在view中使用opengl.于是我在对话框中添加一个picture控件.新定义了一个类CShowView,继承了CView类,将控件绑定到该类上.

设置好有关opengl的一切,包括库文件包含,头文件包含,像素格式设置等等,也就是说全部都设置好了.开始运行程序,OK,完全正常,opengl在我对话框中的view里画线渲染贴图,怎么用怎么顺.

问题来了:
我将整个工程拷贝到B电脑上,发现view里面连个黑屏都不给我.拷贝到C电脑,D电脑都一样(几台电脑应该没什么差别,都是一个办公室的),我又进行了以下测试:
1.pDC->TextOut在B电脑可以输出,说明View可以在B电脑运行
2.B电脑运行基于文档类的工程,添加opengl后,运行正常
3.B电脑从头开始新建对话框工程,添加View什么的,opengl也不能正常给我显示,但是我把这个工程拷贝回A电脑,运行发现opengl显示正常-_-!!
4.在A电脑一切正常的情况下,发布Release版本程序,在B电脑运行,Opengl仍然完全没有效果

以上就是问题描述

关于环境的设置,都是VC6.0+WINDOWS XP

谁能帮我分析下这个问题,就算不能解决,仍有100大分送上,感谢各位
...全文
800 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz822163 2008-10-30
  • 打赏
  • 举报
回复
你弄过简单的opengl程序在B上试一下,先看下在他上面到底能不能运行opengl程序
可以运行的话,再在你的程序里多弄些判断,看看到底是哪里失败呀
wuwenye 2008-10-27
  • 打赏
  • 举报
回复
我的建议是,仔细检查有些“特殊的”函数。

比如glEnable(GL_VERTEX_ARRAY)在新版本驱动下完全正常,但在旧版本驱动下异常。

再比如InitCriticalSection之后,如果直接调用一次LeaveCriticalSection,WIN2003偶尔不能正确设置像素格式,但在XP下必死无疑。
xyzdy 2008-10-26
  • 打赏
  • 举报
回复
尝试glFlush一下看看
liulong3897 2008-10-26
  • 打赏
  • 举报
回复
会不会是GLAUX.LIB GLU32.LIB OPENGL32.LIB要重新添加一次
我是菜鸟,仅仅提供一点建议
giant1st 2008-10-25
  • 打赏
  • 举报
回复
估计你是 用了 扩展,然后 B电脑 不支持呗!
在运行中 输入dxdiag看一下你的显卡 支持吗?
ddszhan 2008-10-24
  • 打赏
  • 举报
回复
不要用picture,直接在View中使用OpenGL,我的程序曾经遇到此问题,是这样解决的。
yeah920 2008-10-24
  • 打赏
  • 举报
回复
友情顶一下.
degree_37 2008-10-24
  • 打赏
  • 举报
回复
很多OpenGL程序在一些电脑上可以运行,在另一些电脑上就不能运行。当然原因很多,最主要是显卡对有些版本的OpenGL扩展函数不支持!

因为有些显卡不支持新的OpenGL版本中的部分或全部函数,所以使用前一定要查看自己的电脑是否支持OpenGL扩展版本中的函数,比如Dell的D600电脑,就不支持OpenGL1.4版本的所有扩展函数,使用新版本前先用软件OpenGL Extensions查看一下,显卡对OpenGL各个版本的支持度,然后再调用可以使用的扩展函数.

下面代码中的glMultiDrawElements()函数和glDrawElements()就不能在不支持OpenGL1.4版本的电脑里面使用.程序可以编译,但无法运行!
只能用glArrayElement()函数代替!
tiyuzhongxin789 2008-10-22
  • 打赏
  • 举报
回复
认为可以的地方是应该加个判断.......
degree_37 2008-10-22
  • 打赏
  • 举报
回复
会不会是显卡的问题呢? 我之前碰到过同样的opengl程序,在一台电脑上运行顺利无比,但是在另外一台电脑上特别卡,原因就是两台电脑的显卡不同,opengl适合在GeForce显卡上运行,但是在ATI显卡上效果就不好,不知道你的问题是不是这个原因,不过可以查一下.
dirdirdir3 2008-10-21
  • 打赏
  • 举报
回复
b电脑支持不支持你的opengl的版本?
VsirSoft 2008-10-21
  • 打赏
  • 举报
回复
认为可以的地方是应该加个判断
glacier3d 2008-10-21
  • 打赏
  • 举报
回复
是不是应该在每台电脑上都检测一下OpenGL在初始化图形设备的时候是否成功?因为连黑屏都没有,所以也不是不可能啊

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧