查看: 991|回复: 6

关于Viewer

[复制链接]

该用户从未签到

发表于 2012-3-30 07:44:46 | 显示全部楼层 |阅读模式
viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()));

我刚自学。。看着函数的样子像是设置照相机的初始化状态

运行后发现W L这两个控制键可以用了,可以显示线框模式,点模式,设置光照

=============================================

但看着函数的样子照相机相当于设置OPENGL里的GL_PROJECTION GL_MODELVIEW的玩意

怎么还可以设置GL_POINTS GL_TRIANGLES这些东西呢

该用户从未签到

 楼主| 发表于 2012-3-30 07:46:16 | 显示全部楼层
还有viewer的realize()方法究竟是干神马用的

该用户从未签到

 楼主| 发表于 2012-3-30 07:51:28 | 显示全部楼层
在OSG程序设计教程这本书上

第二个HelloWorld

作者说viewer.addEventHandler(new osgViewer::StatsHandler)
是设置一些常用的状态设置,这里会响应S键,W键。
================================

我发现没这句话W键一样可以响应。但是没viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()));
这个W不会响应。。
我有点纳闷,OSG怎么封装的,感觉这点很不合适啊

该用户从未签到

发表于 2012-3-30 09:59:57 | 显示全部楼层
我不知道您要问什么,请整理您的问题。StateSet和Handler完全是两回事,您似乎已经把他们搞混了,虽然我觉得一般人不可能搞混。。。请首选阅读《快速入门指导》

该用户从未签到

 楼主| 发表于 2012-3-30 18:55:10 | 显示全部楼层
array 发表于 2012-3-30 09:59
我不知道您要问什么,请整理您的问题。StateSet和Handler完全是两回事,您似乎已经把他们搞混了,虽然我觉得 ...

viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()));

这个究竟是做什么的

初始化了什么东西。。

该用户从未签到

发表于 2012-3-31 10:47:00 | 显示全部楼层
       这个还是建议先阅读下相关书籍。
       这句话是对viewer类添加了事件处理函数,即当用户触发了某些事件,比如点击事件后,,系统调用相应的函数或者类(仿函数)进行处理。

该用户从未签到

 楼主| 发表于 2012-3-31 13:43:56 | 显示全部楼层
CWorld 发表于 2012-3-31 10:47
这个还是建议先阅读下相关书籍。
       这句话是对viewer类添加了事件处理函数,即当用户触发了某 ...

这个我明白相当与C#的事件委托,Java添加事件监听器。。
addEventHandler里面的new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet())这个是做什么的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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