首页 新闻 会员 周边

mfc/opengl 绘图

0
悬赏园豆:180 [待解决问题]

      一个已经写好的程序,多文档,用CSplitterWnd将窗口分割成了两个,左边关联一个视类,显示读入实体的模型,右边关联另一个视类,显示处理过后的模型。运行无问题。我自己将窗口分割成3个,前两个不变,最后一个关联一个自己建立的View类,像素格式,RC也已经创建,但总是显示不了图形,我用一个简单的opengl语句,在OnDraw里画一个三角形都显示不了。但调试时,该段语句是运行的。请问各位到底出了什么问题啊。是不是多文档模板在分割窗口后应用opengl与单文档有什么不一样的,我没注意到?拜托了,想了好几天了。

     是不是要RC的设置有一些要注意的。之前看到说在OnDraw里要释放RC,在另一个视图类中才能设置新的RC,但用wglMakeCUrrent(hDC,NULL)释放之后,还不行。而且之前原代码中,两个View类也只有在OnDestroy内释放RC,左右两个窗口也是同时显示的图形。

     真的拜托了,想了好几天,时间都花在这上面了,一点进展都没有。

冥思的主页 冥思 | 初学一级 | 园豆:22
提问于:2014-07-09 11:04
< >
分享
所有回答(2)
0

1:我用一个简单的opengl语句,在OnDraw里画一个三角形都显示不了。

你在渲染三角形之前,模型视图矩阵、投影矩阵、视口是否已经设置。

2:但调试时,该段语句是运行的。

不管你用什么方式使该语名被执行(如定时器触发),不代表正确工作,现在就是这种情况。

 

是否多线程?如果不是,那就是简单的多窗口。

多个窗口对模型渲染使用的是不同的数据还是同一模型数据?

如果不是,那个RC没什么关系,如果是,你是否已经共享RC。

glimix | 园豆:154 (初学一级) | 2014-07-11 12:22
0
Launcher | 园豆:45045 (高人七级) | 2014-07-16 10:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册