我要发帖 回复

新手上路

1

主题

15

积分

0

专家分

:

私信
发表时间 : 2009-2-6 10:30:16 | 浏览 : 5165    评论 : 9
大家好,

问下大家osg用的ui是什么?我想整合osg+cegui,但发现有问题。osg自带的osgcegui.cpp例子,运行错误。在“new CEGUI::System( new CEGUI::OpenGLRenderer(0) );”处崩溃了。google了一下,发现cegui只支持单线程,单窗口。于是我在cegui加载前调用    viewer.setUpViewOnSingleScreen(0);
viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded);
两行代码,还是出错 “OpenGLRenderer failed to initialise the GLEW library. Missing GL version”

有人遇到过吗?或者有什么解决方法。好像老外对osg+cegui很不看好,推荐osgwidget,我用了下发现功能太弱.

最近VR访客

archer_xu 评论于2009-2-6 10:37:55
忘记说了,环境是vs2005+osg2.6, windows xp,双核cpu
array 评论于2009-2-6 12:12:56
您的出错提示是“GLEW库初始化失败”?不知道您的CEGUI本身能否正常运行。
osgWidget更多的是一种概念设计,并整合了脚本语言的功能,因此其前景很被看好;再加上Jemery Moles这个“工作狂”负责它的开发和维护,我个人对其发展也十分期待。
archer_xu 评论于2009-2-6 14:17:27
应该是没问题的,cegui SDK自带的例子能顺利运行。可能是viewer的设置不对。
array,《OSG编程入门指南》里有没有cegui+osg的例子?我想购买一本,请提供购买方式。论坛上的购买方式打不开,谢谢
archer_xu 评论于2009-2-6 14:18:58
刚在osg2.8下试了osgwidget,比2.6有改进,说实话,界面还是挺难看的,期待下一版。
array 评论于2009-2-6 18:07:54
我不是《OSG编程入门指南》的作者~~联系FlySky吧~~
253385164 评论于2009-4-28 11:26:18
在那两句代码后面再加上下面两句就可以了
viewer.realize();
viewer.getCamera()->getGraphicsContext()->makeCurrent();
效果图如下:
cegui.JPG
253385164 评论于2009-4-28 11:31:46
由于cegui只支持单线程,单窗口,我想请教一下楼主有没有解决OSG的GUI的更好办法?最近在做这方面的工作,刚入门也不知道用什么办法会更好一些。
FlySky 评论于2009-4-29 00:55:00
原帖由 253385164 于 2009-4-28 11:26 AM 发表
在那两句代码后面再加上下面两句就可以了
viewer.realize();
viewer.getCamera()->getGraphicsContext()->makeCurrent();
效果图如下:


不太清楚你要使用OSG实现什么GUI效果???

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
flyxiong 评论于2013-6-6 15:44:09
FlySky 发表于 2009-4-29 12:55 AM
不太清楚你要使用OSG实现什么GUI效果???

在使用CEGUI实现OSG的GUI时,采用osgViewer::Viewer::CullThreadPerCameraDrawThreadPerContext模式渲染,窗口Resize会报出openglTexture::size too big 的问题,大概的意思是上下文在窗口大小改变时析构了,而CEGUI在新的上下文创建前访问上下文的宽和高导致openglTexture::size too big问题

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-10-25 12:51 PM

返回顶部