查看: 1599|回复: 13

如何让三维图片分辨率保持不变

[复制链接]

该用户从未签到

发表于 2010-9-1 15:07:41 | 显示全部楼层 |阅读模式
本帖最后由 gis_wudi 于 2010-9-1 15:10 编辑

请教:如何让一个三维图片像屏幕图片一样,图片大小始终保持不变,或者使屏幕图片能被三维场景中的物体遮挡

该用户从未签到

发表于 2010-9-1 15:22:56 | 显示全部楼层
放在HUD相机下可以吧

该用户从未签到

 楼主| 发表于 2010-9-2 08:37:38 | 显示全部楼层
HUD相机下是屏幕图片,是不会被三维物体遮挡住的

该用户从未签到

发表于 2010-9-2 09:12:17 | 显示全部楼层
什么叫三维图片?如果是想在场景中放置一个图片并使其大小相对于屏幕不变的话,应该可以用autotransform,请参考osgautotransform例子。

该用户从未签到

 楼主| 发表于 2010-9-2 09:52:01 | 显示全部楼层
autotransform没有用过,可以研究一下
不过我已经用另一种方式解决了sgText::ImageFadetext
文字绑定图片,正是我需要的,谢谢各位了

该用户从未签到

 楼主| 发表于 2010-9-2 10:02:06 | 显示全部楼层
AutoTransform果然是好东西啊

该用户从未签到

发表于 2010-9-2 10:36:04 | 显示全部楼层
保持不变怎么会被遮挡呢~~

该用户从未签到

发表于 2010-9-2 11:19:36 | 显示全部楼层
本帖最后由 yin_savage 于 2010-9-2 11:20 编辑

其实还是HUD,只是让它先于场景渲染而已。

如果非要使用普通的HUD(后于场景渲染),那么给它挂接osg的Depth对象,指定它不通过任何深度测试。

该用户从未签到

发表于 2010-9-2 11:20:24 | 显示全部楼层
我估计你要的只是一个场景背景,类似于天空球一样的东东,对不?

该用户从未签到

发表于 2010-9-2 11:24:55 | 显示全部楼层
他还要图片视觉大小保持不变

该用户从未签到

 楼主| 发表于 2010-9-2 14:52:46 | 显示全部楼层
本帖最后由 gis_wudi 于 2010-9-2 14:58 编辑

我提的问题其实是想解决屏幕标注文字和图片,但挂接到hud下就不能被三维中的对象所遮挡,这样,标注的文字和图片始终出现在最前端,即使隔着一座山也能透过来.
为了解决这样的问题(文字图片分辨率始终保持不变),有一下两种解决方案:
一:用osgText::ImageFadeText解决(效果还可以)
二:用autotransfrom(我现在用的就是这中方式,效果很好)
两种方式下,文字和图片都是挂接在三维场景节点下,同时开启深度检测,而不是hud.
希望可以给别人以借鉴
谢谢各位的热心解答

该用户从未签到

发表于 2010-9-2 15:23:51 | 显示全部楼层
嗯,支持分享经验

该用户从未签到

发表于 2010-9-2 22:52:25 | 显示全部楼层
ImageFadeText是什么?抱歉我不认为OSG自带了这个类,您是否指得是FadeText

该用户从未签到

 楼主| 发表于 2010-9-3 11:22:24 | 显示全部楼层
哦,不是FadeText,是FadeText的派生类,如果不是osg自带的就是我们自己扩充的了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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