gpt4 book ai didi

c++ - osg::GraphicsContext::WindowingSystemInterface 返回 null

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:12 24 4
gpt4 key购买 nike

在我的 OpenSceneGraph 程序中,我有以下代码:

osg::GraphicsContext::WindowingSystemInterface* wsi = osg::GraphicsContext::getWindowingSystemInterface();

if (!wsi) {
osg::notify(osg::NOTICE) << "Error, no WindowingSystemInterface available, cannot create windows." << std::endl;
return 0;
}

不幸的是,方法 getWindowingSystemInterface() 返回了一个空值,因此程序无法继续。它返回 null 的原因是什么?我如何更改我的程序(或build设置?)以让它返回非空值?我正在使用 Visual Studio 2012。

最佳答案

您可能在接口(interface)创建之前就对其进行了查询,因此它返回一个空值。如果您使用控制台窗口运行,请尝试将 OSG_NOTIFY_LEVEL 环境变量设置为 INFO 或 DEBUG,它会准确告诉您是否/何时设置窗口界面。

请参阅“设置”方法(无论如何来自 3.1.3 开发版本),如果您的通知级别为 INFO 或更高,它会执行打印:

void GraphicsContext::setWindowingSystemInterface(WindowingSystemInterface* callback)
{
ref_ptr<GraphicsContext::WindowingSystemInterface> &wsref = windowingSystemInterfaceRef();
wsref = callback;
OSG_INFO<<"GraphicsContext::setWindowingSystemInterface() "<<wsref.get()<<"\t"<<&wsref<<std::endl;
}

http://www.openscenegraph.com/index.php/documentation/debugging-tips

关于c++ - osg::GraphicsContext::WindowingSystemInterface 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com