查看: 1542|回复: 3

测试场景是否在制定区域显示

[复制链接]

该用户从未签到

发表于 2010-2-20 21:11:46 | 显示全部楼层 |阅读模式
我想测试场景的某一部分是否在制定的区域内显示。
谁有想法应该怎么做,osg自带的例子中有这方面的吗

该用户从未签到

发表于 2010-2-24 08:36:26 | 显示全部楼层
初步的判断是比较简单的,只要判断场景某个节点树的getBound()是否与此区域有交集即可;如果需要很精确的判断,那么就需要对场景数据进行射线(Linesegment)或者多面体(Polytope)求交,OSG提供了相应的工具可供选择,您也可以自己进行设计

该用户从未签到

 楼主| 发表于 2010-2-26 06:19:52 | 显示全部楼层
我用的是setUpViewerAsEmbeddedInWindow,在屏幕中嵌入了一块可以用osg绘制的区域,也addEventHandler了,但不知道为什么捕捉不到鼠标事件。您知道是为什么吗?

该用户从未签到

发表于 2010-2-26 08:18:22 | 显示全部楼层
如果您想以窗口形式来显示绘制区域,那么建议用setUpViewInWindow(),如果您希望在全屏幕下只绘制部分区域,那么建议直接改动Camera的视口和投影矩阵。

setUpViewerAsEmbeddedInWindow()是用于实现OSG与部分GUI系统的嵌合而提供的,此时GUI负责OpenGL的初始化和渲染设备操作,以及交互事件的传递,具体可以参看SDL和GTK的例子,如果您不是这样的目的,那么请不要用这个函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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