查看: 4750|回复: 9

使用osgText,所有文字都显示为白框?在线等

[复制链接]

该用户从未签到

发表于 2008-3-13 17:01:44 | 显示全部楼层 |阅读模式
如题,场景中的目前用的都是英文字母,但是显示都是白框,不知道为什么?
拿目前情况来看,所使用的字体应该能找到

[ 本帖最后由 dynamic 于 2008-3-13 17:03 编辑 ]

该用户从未签到

发表于 2008-3-13 18:30:31 | 显示全部楼层
原帖由 dynamic 于 2008-3-13 17:01 发表
如题,场景中的目前用的都是英文字母,但是显示都是白框,不知道为什么?
拿目前情况来看,所使用的字体应该能找到


根据您提供的信息不好确定问题所在,能再提供一些吗
您是否使用了setDrawMode之类的语句?如果这样的话其参数必须包括osgText::Text::TEXT(或者对于2.3.x,为osgText::TextBase::TEXT)

该用户从未签到

 楼主| 发表于 2008-3-13 19:12:39 | 显示全部楼层
目前用的是1.0版本
osg::Geode* geode = new osg::Geode();
osg::StateSet* stateset = geode->getOrCreateStateSet();
stateset->setMode(GL_LIGHTING,osg::StateAttribute::OFF);
stateset->setMode(GL_DEPTH_TEST,osg::StateAttribute::OFF);
geode->setName("simple");
group->addChild(geode);

osgText::Text* text = new  osgText::Text;
geode->addDrawable( text );
text->setFont("times.ttf");
text->setText("text");

该用户从未签到

发表于 2008-3-13 19:54:14 | 显示全部楼层
OSG 1.0的版本好像很悠久了~~我用2.x的版本做了试验,您的代码应该是没问题的(假设您代码中其它的部分不会对其产生干扰)。可以尝试旋转和放缩一下场景,看看是不是视角的问题,还有使用setDrawMode函数设置一下试试。
另外建议您换用更新版本的OSG来进行学习(如果不是工作需要的话,我觉得没必要使用太过古老的版本,难免存在与新硬件的兼容问题以及诸多的BUG),不习惯2.x的结构的话,可以使用较为稳定的OSG 1.2

该用户从未签到

 楼主| 发表于 2008-3-15 18:50:02 | 显示全部楼层
真愁啊,这个问题现在还存在,用的是SceneView,不是osgViewer
由于某种需要,现在用的osg版本比较旧0.96,我直接在0.96版本的源码工程下写一个显示文字的例子也没问题,然后在我的工程中显示就存在这样的问题
不知道一般在什莫情况下会出现这样的问题,文字显示为一连串的白框。好像是如果找不到字体的话,会显示出分开的一个一个的白框,而我现在的这些白框是一个连一个的,而且跟字符的宽度有关系

该用户从未签到

发表于 2008-3-15 19:56:02 | 显示全部楼层
原帖由 dynamic 于 2008-3-15 18:50 发表
真愁啊,这个问题现在还存在,用的是SceneView,不是osgViewer
由于某种需要,现在用的osg版本比较旧0.96,我直接在0.96版本的源码工程下写一个显示文字的例子也没问题,然后在我的工程中显示就存在这样的问题
不知 ...


听您的描述很像是显示了文字的BoundingBox,但没有显示文字。在OSg 1.2以上的版本都可以使用setDrawMode来重新设置一下,不过我确实不知道0.9.6的相关函数是什么~~

该用户从未签到

 楼主| 发表于 2008-3-15 19:59:59 | 显示全部楼层
应该不是BoundingBox,而是一个实心的白块

[ 本帖最后由 dynamic 于 2008-3-15 20:14 编辑 ]
01.jpg

该用户从未签到

发表于 2008-3-16 09:05:02 | 显示全部楼层
看起来像是斜体字!

该用户从未签到

发表于 2014-8-5 16:36:25 | 显示全部楼层
lz 问题解决了没啊,貌似我遇到了跟你差不多的问题,setDrawMode也没有效果。。。。。。。

20140805_163312.png

该用户从未签到

发表于 2014-8-5 16:46:15 | 显示全部楼层
array 发表于 2008-3-15 19:56
听您的描述很像是显示了文字的BoundingBox,但没有显示文字。在OSg 1.2以上的版本都可以使用setDrawMod ...

array兄,我尝试了setDrawMode,也还是一个白块,同样的代码,我用opengl es 1.0的时候,文字是正确显示的,用 es 2.0的时候就显示成这样的白块了,请问有没有思路啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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