
OSG
OSG学习过程和心得,记录自己的学习过程和学习心得,为自己以后的温故而知新做基础。
GreenArrowMan
这个作者很懒,什么都没留下…
展开
-
Osg 实例中用到的资源
Osg有很多示例,有些示例中用到了一些资源,比如简单的模型等等。这些资源可以在这里进行下载:OpenSceneGraph-Data原创 2017-09-15 16:45:06 · 1012 阅读 · 0 评论 -
osg节点拾取
使用Scribe特效实现白色轮廓,此类在osgFx模块里面。所有场景中的节点全部添加Scribe特效。通过继承GUIEventHandler来自定义鼠标对应动作时,需要进行何种操作。在事件处理器类中,实现左键时判断鼠标点击位置是否和节点相交,然后隐藏特效;右键时恢复特效。判断是否相交,使用computeIntersections来计算,这是osgViewer的函原创 2017-05-02 18:38:42 · 2390 阅读 · 0 评论 -
osg自定义场景物体和设置状态集
osg自定义场景物体,也就是模型,主要是通过设置顶点数据、顶点颜色数据、顶点索引集、法线数据集合等数据才能看到模型。自定义模型需要使用Geometry来接收设置的数据,Geometry类提供了接收上述各种数据的接口。如果想给状态集StateSet设置某些属性,可以通过接口setAttributeAndModes来设置:比如深度测试、模板测试、线宽等继承自StateAttribute的子类,原创 2017-04-19 18:54:34 · 1197 阅读 · 0 评论 -
osg控制节点的显示与否
使物体或者说Node隐藏方式有两种,一种是设置NodeMask,另外一种是使用osg的switch类来控制。两者的区别是前者只是看不到,数据还在场景中,隐藏了并不能影响渲染性能,不影响内存中的数据;后者是从内存中暂时移除,会对性能有所影响,需要显示时再加载进场景。回调的速度好像是每帧调用一次,这样程序运行起来,会看到球以很快的速度在闪。为了更方便的观察,我在回调中做了限原创 2017-04-19 10:44:32 · 1969 阅读 · 0 评论 -
osg隐藏物体或者Node(多个物体轮流显示)
对于OSG源码的下载、编译我就不说明了,网上的例子很多。使物体或者说Node隐藏方式有两种,一种是设置NodeMask,另外一种是使用osg的switch类来控制。两者的区别是前者只是看不到,数据还在场景中,隐藏了并不能影响渲染性能,不影响内存中的数据;后者是从内存中暂时移除,会对性能有所影响,需要显示时再加载进场景。这篇文章暂时说一下怎么使用NodeMask。se原创 2017-04-15 12:21:00 · 3400 阅读 · 0 评论