查看: 1633|回复: 6

CEGUI+OSG 一个问题??

[复制链接]

该用户从未签到

发表于 2011-1-25 17:40:03 | 显示全部楼层 |阅读模式
我在CEGUI+OSG 实现中发现一个问题,就是在模型具有多重纹理的情况下,CEGUI 界面显示不出来,即使禁止多重纹理好像也不行,大家有解决办法么。代码参考OSG视频教材写的。

按下面操作就能够重现:

1、在视口增加下面代码:
view->addEventHandler(new  osgGA::StateSetManipulator(view->getCamera()->getOrCreateStateSet()));

2、程序起来后按下"t"键 CEGUI界面就不见了




不知道有解决办法么????

该用户从未签到

发表于 2011-1-26 08:22:40 | 显示全部楼层
程序起来后按下"t"键
这表示屏蔽纹理的功能,这和您的问题有什么关系?

该用户从未签到

 楼主| 发表于 2011-1-27 16:32:19 | 显示全部楼层
本帖最后由 heven_jing 于 2011-1-27 16:35 编辑

程序起来后按下"t"键是屏蔽所有纹理,包括0、1、2....,这时CEGUI 界面就丢失了//////在OSG中,好像一旦启用或禁用多重纹理(i>0)通过下面方式:

stateSet->setTextureMode(i,......);

CEGUI界面就会莫名丢失,没法恢复。

在程序中 按"t"键只是可以快速再现这个问题而已

该用户从未签到

发表于 2011-1-28 08:11:20 | 显示全部楼层
这个我想可能与CEGUI的实现方式有关,它应该就是以纹理的方式来呈现3DGUI界面的。您可以给CEGUI节点设置PROTECTED属性来强制它不要受到 关闭纹理渲染 的影响

该用户从未签到

 楼主| 发表于 2011-1-29 09:45:00 | 显示全部楼层
这能举个例子么,只要以调用stateSet->setTextureMode(1...   CEGUI界面就丢失了,无论开启还是关闭,不知道如何设定PROTECTED属性????

该用户从未签到

发表于 2011-2-1 09:19:06 | 显示全部楼层
我认为您应该早已经知道了设置属性时的几种继承掩码:ON,OFF,OVERRIDE,PROTECTED。《OSG快速入门指导》中对此有完整的解释

该用户从未签到

发表于 2011-2-15 09:30:33 | 显示全部楼层
学习下~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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