![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
osg
你的费斯
这个作者很懒,什么都没留下…
展开
-
osg 半透明遮挡实现
今天需要实现一个osg半透明遮挡场景,在网上查了好多帖子,都不好用,不是遮挡不对,就是所有物体全透明了。最后终于在google找到一篇英文帖子,解决了问题。具体实现半透明效果的代码如下:[cpp] view plaincopyosg::MatrixTransform* createDoor3() { osg::re转载 2015-12-10 16:52:05 · 2308 阅读 · 0 评论 -
不可不表的OSG智能指针之强指针与弱指针 《转载》
使用OSG的人都知道OSG的内存管理方式采用了智能指针,通过智能指针的方式让OSG自己处理对象的销毁工作。在OSG中有两个智能指针类型,一个就 是我们再熟悉不过的ref_ptr,另外一个可能很多人不一定经常用,但确实非常好的observer_ptr。这两种类型都是作为智能指针而出现的,那 他们到底有什么区别?为什么会出现两个类似的东西?下面我们慢慢揭开它们的面纱。 其实它们是两种智能转载 2016-03-15 09:15:18 · 324 阅读 · 0 评论 -
OSG绘制几何体学习总结(超全)
在osg中,场景图形采用一种自顶向下的,分层的树状数据结构来组织空间数据集,以提高渲染的效率场景图形树结构的顶部是一个根节点,从根节点向下延伸,各个组节点中均包含了几何信息和用于控制其外观的渲染状态信息。根节点和各个组节点都可以有零个(实际上是没有执行任何操作)或多个子成员。在场景图形的最底部,各个叶节点包含了构成场景中物体的实际几何信息。 首先,必须明确的是,转载 2016-05-23 23:01:00 · 9362 阅读 · 0 评论 -
OpenSceneGraph基础:光照
接着前篇进行(http://blog.csdn.net/boksic/article/details/44002155),现在考虑光照效果主程序转载请注明http://blog.csdn.net/boksic 如有疑问欢迎留言和之前基本唯一的变化就是把窗口部分的操作放在初始化函数initCanvas里进行。[cpp] view p转载 2016-05-22 16:19:35 · 674 阅读 · 0 评论 -
OSG粒子系统应用:喷泉效果
粒子系统主要分为两大类: - 一是Effective中已有的效果,如雨雪的效果应用; - 二类是一步步从模版,发射器等创建。关于第一种的使用可以参见上一篇博客OSG粒子系统应用:雨雪效果。本篇博客来使用第二种方式创建一个喷泉的效果。 废话补多说,直接上代码:osg::ref_ptrosg::Node> Fountain::createFountain(osg::Group*转载 2016-11-18 10:15:45 · 1420 阅读 · 0 评论 -
OSGEarth绘制动态水效果
在OSGEarth上绘制水效果的思路为: 1. 使用OSG::Geometry的方式绘制多边形; 2. 在绘制的多边形上贴一个水的纹理; 3. 对纹理使用shader效果,使之动态展示。 此种方式适用于小范围的不严格的水效果,若需要大范围或者有水底效果的请使用OSGOcean。 代码如下:water.hclass Water : public HandleAdapter{转载 2016-11-18 10:16:51 · 3002 阅读 · 0 评论 -
OpenGL的视图变换与OSG漫游器
在OpenGL固定管线内容中有一个过程是进行视图变换,主要目的是将世界坐标变换到相机坐标空间中,OpenGL的视图变换所处的位置如下图所示:在OSG中通过重写漫游器的时候需要实现的4个虚函数与这个变换是一致的(详细参考另一篇文章 《osg中漫游器的原理(一)》)相机视图变换在OpenGL中初始位置场景的世界坐标与相机坐标是在一起的,视点的方转载 2016-11-15 19:18:59 · 556 阅读 · 0 评论 -
osg中漫游器的原理——osgGA::CameraManipulator(二)
osgGA库中所有漫游器的基类是CameraManipulator,本文就对这个类进行一个完整的解析。通过之前的分析(详细请参考这一些列的第一篇),可以知道为了实现一个自定义的漫游器,我们至少需要实现以下几个纯虚函数:[cpp] view plain copy virtual void setByMatrix(const osg::Matri转载 2016-11-15 19:19:42 · 1452 阅读 · 0 评论