`
tempsitegoogle
  • 浏览: 867003 次
文章分类
社区版块
存档分类
最新评论

OpenInventor的节点小结

 
阅读更多

1、 法线自动产生参数——SoShapeHints::creaseAngle:当两个相邻平面的法向量夹角小于该弧度时,两个平面共享法向量;否则,分别计算各自的法向量。当该弧度为0时,相邻平面的交界处变化比较明显;一般可以设置该值为PI。

2、 推荐使用材质索引绑定:因为可以创建一个公用的材质节点,然后其他节点以索引的形式引用它。

3、 材质绑定:当SoMaterial提供的颜色数据少于绑定的目标个数时,循环使用较少的颜色数据。而当颜色数据多余绑定的目标个数时,则忽略多余的颜色数据。法线绑定不会循环使用法线,Inventor此时自动生成缺省法线。

4、 SoBaseColor继承自SoNode,它设置当前材质的漫反射颜色field。SoBaseColor与SoMaterial相比设置的颜色field要少,所以可以节约内存。SoBaseColor与SoLightModel联系紧密:在光照模型是SoLightModel::BASE_COLOR时,使用SoBaseColor中设置的颜色绘制物体,这点与缺省的光照模型PHONG相对应。

5、 多值field参数的设置:设置其中一个数值使用setValue函数,即设置了第一个数据,同时,其后的数据被删除。要想设置某一个数值,同时保存其他数据可以使用set1Value。同时设置多个数据使用setValues,未被设置的数据依然保持,不会被删除。

6、 节点的创建与删除:只能在堆上创建,即用new。在引用计数变为0的时候删除,而不是像stack上变量对应其生存期。所以不能分配节点数组。

7、 So*ExaminerViewer继承自So*RenderArea;它内部包含一个camera,所以使用它无需创建camera;在界面上的交互亦是改变camera的参数,而不是直接操作场景中的可视节点。以上两点均与So*RenderArea不同。

8、 在So*RenderArea中,首先设置了light和camera后才能显示场景中的节点。另外,还有可能需要设置camera的viewAll函数,方能显示。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics