查看: 1866|回复: 6

关于创建设备上下文

[复制链接]

该用户从未签到

发表于 2011-7-19 21:35:31 | 显示全部楼层 |阅读模式
关键代码如下:
osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;
traits->x = 0;
traits->y = 0;
traits->width = 1;
traits->height = 1;
traits->windowDecoration = true;
traits->doubleBuffer = true;
traits->sharedContext = 0;
traits->pbuffer = true;
osg::ref_ptr<osg::GraphicsContext> _gc = osg::GraphicsContext::createGraphicsContext(traits.get());
if (!_gc)
{
  osg::notify(osg::NOTICE)<<"Failed to create pbuffer, failing back to normal graphics window."<<std::endl;
  traits->pbuffer = false;
  _gc = osg::GraphicsContext::createGraphicsContext(traits.get());
}
if (_gc.valid())
{
  _gc->realize();
  _gc->makeCurrent();
  std::cout<<"Realized window"<<std::endl;
}
可是设备上下文总是创建的不成功
Failed to create pbuffer, failing back to normal graphics window.
请问是什么原因,
我以前用的时候是可以的啊

该用户从未签到

发表于 2011-7-20 01:58:21 | 显示全部楼层
你的显卡好像不支持pbuffer,或者显卡驱动的原因,更新下驱动试试

该用户从未签到

 楼主| 发表于 2011-7-20 16:38:16 | 显示全部楼层
还是不行啊 重新装了系统,也更新了驱动 还是出错.....
即使 traits->pbuffer = true;改为traits->pbuffer = false;
也不行

该用户从未签到

发表于 2011-7-20 21:26:09 | 显示全部楼层
我也遇到过这种情况,但后来自己又好了

该用户从未签到

发表于 2011-7-21 08:21:54 | 显示全部楼层
即使 traits->pbuffer = true;改为traits->pbuffer = false;
也不行
这种时候错误产生在什么地方?我想肯定和之前的错误不是同一处

该用户从未签到

 楼主| 发表于 2011-7-21 10:42:11 | 显示全部楼层
错误还是一样的

该用户从未签到

发表于 2011-7-21 14:24:57 | 显示全部楼层
那是不可能的,想必您自己的程序出现了问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表