osg::ClipNode与osg::ClipPlane

原创 2007年09月13日 16:12:00
  • osg::ClipNode继承自osg::Group,功能是定义场景中裁剪面的位置。
  • osg::ClipPlane继承自osg::StateAttribute,定义一个裁剪面,可参考:glClipPlane().
  • 先看一下osg::ClipPlane的构造函数:

ClipPlane (unsigned int no, const Vec4d &plane) 
ClipPlane (unsigned 
int no, const Plane &plane) 
ClipPlane (unsigned 
int no, double a, double b, double c, double d) 

 

后四个参数其实构建了一个平面方程:

aX+bY+cZ+d=0

第一个参数指定定义哪个裁剪面,至少支持6个。

定义多个裁剪面时可调用

setClipPlaneNum 和setClipPlane 函数
  • osg::ClipNode的使用
    //创建节点    
    osg::ClipNode* clipped_subgraph = new osg::ClipNode;
    //得到subgraph节点的包围球
    osg::BoundingSphere bs = subgraph->getBound();
    bs.radius()
    *= 0.4f;
    //根据包围球创建一个6面体,刚好包住球体
    osg::BoundingBox bb;
    bb.expandBy(bs);
    clipped_subgraph
    ->createClipBox(bb);
    //添加子节点
    clipped_subgraph->addChild(subgraph);

osg::clipNode

这一段的功能主要是绘制线型的节点     //创建根节点     osg::Group* rootnode = new osg::Group;     //创建状态集     osg:...
  • shui_zhi_lian
  • shui_zhi_lian
  • 2014年08月17日 17:15
  • 951

osgclip例子

本来自演示了ClipNode。 主要的内容都在decorate_with_clip_node中。 Clip在OpenGL中是定义裁剪面,然后glEnable,设置使用裁剪,于是在OpenGL的固定...
  • yungis
  • yungis
  • 2013年01月23日 07:56
  • 2362

Examples osgclip注释

详细源码见osg例子 osgclip,这里只分析decorate_with_clip_node函数 这一段的功能主要是绘制线型的节点     //创建根节点    osg::Group* roo...
  • zhuqinglu
  • zhuqinglu
  • 2007年09月13日 17:25
  • 2177

OSG渲染状态管理

转载:点击打开链接 1. 简介 OpenGL是一个状态机,在OpenGL中如果设置一种状态(比如设置当前的绘制颜色:glColor,那么实际上是设置了OpenGL颜色绘制状态为某种颜色,如...
  • zxzzt119
  • zxzzt119
  • 2017年07月11日 17:14
  • 638

osg::BlendFunc

osg::BlendFunc介绍      混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。      假...
  • zhuqinglu
  • zhuqinglu
  • 2007年09月12日 15:01
  • 2691

OSG 自带examples简介

1.example_osganimate 一)演示了路径动画的使用(AnimationPath、AnimationPathCallback),路径动画回调可以作用在Camera、Camera...
  • hudfang
  • hudfang
  • 2015年07月06日 17:50
  • 1848

osg名词解释

osg:: ClearNode;颜色清除节点;用于设置清除颜色缓存的相关选项,它的子节点将在场景中首先渲染,以确保正确执行颜色缓存的设置;osghangglide osg:: ClipNode;...
  • shui_zhi_lian
  • shui_zhi_lian
  • 2014年08月13日 08:24
  • 1116

裁剪节点ClippingNode

学习cocos2dx 3.2确实比较吃力,因为网上关于最新版的v3.2的资料十分稀少,或者是讲解的确实不是很详细。大部分人都是根据官方文档照样画瓢,而对于有些比较抽象的概念及函数都是照着官方文档来讲解...
  • u012398902
  • u012398902
  • 2015年01月13日 12:13
  • 621

cocos2dx-3.2(35) ClippingNode 遮罩

我的生活,我的点点滴滴!!
  • AC_huang
  • AC_huang
  • 2014年09月26日 14:49
  • 7619

ClippingNode的简单使用

在游戏的某些场合,需要展现一些如圆形、椭圆形以及特定形状的图片,如果使用的地方比较多,需要美术逐个出图的话难免会造成空间浪费,如果使用ClippingNode剪裁节点,那么只需要特定形状的模板,那么便...
  • forestsenlin
  • forestsenlin
  • 2015年11月29日 21:49
  • 1716
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:osg::ClipNode与osg::ClipPlane
举报原因:
原因补充:

(最多只允许输入30个字)