OpenSceneGraph(OSG) 学习之 核心结构(基础篇)

来源:互联网 发布:美国财经数据 编辑:程序博客网 时间:2024/05/16 15:06
OSG采用“命名空间+类”的形式来命名
        命名空间(name space)的命名方式:第一个单词小写,后继单词首字母大写,例如:osgViewer
        类名采用:每个单词首字母大写,例如:NodeVisitor
        功能类的成员函数用:小写字母开头,之后每个单词首字母大写,例如:setAttributeAndModes()
如果试图描述某个功能类的成员函数,通常如下书写:osg(命名空间)::Matrix Transform(类名)::setMatrix()(功能函数)

OSG核心库:提供基本的场景图形渲染功能
      osg库:场景图形节点类、向量和矩阵运算类;可绘制体类和几何体类;描述和管理渲染状态类;以及图形程序所需的典型功能类。
     osgDB库:2D3D文件读写的插件类注册器,以及用于访问和读写这些插件的特定功能类;数据动态分页调度机制,数据动态读入和卸载。
     osgUtil库:实用工具库,数据统计和优化工具、渲染后台工具、场景裁剪工具;大量几何才做相关的类,德罗内三角化(Delaunay Triangulation)、三角条带化(Triangle Stripification)、法线坐标自动生成、场景树优化等。
      osgGA库:各种视景窗口交互事件管理工具,用于构建一个与平台无关的人机设备抽象层。
      osgViewer库:视景器工具库,单个或多个场景观察和管理的整合工具,以及与平台相关的底层图形设计代码;同时还提供了多线程、多CPU、多现显示场景的渲染机制。

NodeKits节点扩展工具箱:扩展了核心OSG场景图形节点类的功能,以提供高级节点类型和渲染特效。
      osgAnimation:场景动画处理库,包括各种关键帧的定义、插值方式、动画管理和融合、路径动画、角色动画等(详见:第九章)。
      osgFX:场景特效库,包括多种场景特效的实现,卡通着色、凹凸着色等。这个库随着着色语言的逐步应用而弱化。
      osgManipulator:场景对象控制库,用于实现场景对象的用户交互控制,包括移动、旋转、缩放的(详见:第八章)。
      osgParticle:粒子特效库,实现简单或复杂的粒子特效,例如雨、雪、烟雾、火焰、爆炸、运动尾迹等。
      osgShadow:阴影特效库,实现多种形式的阴影绘制,包括阴影贴图(Shadow Map)、阴影纹理(Shadow Texture)、阴影体(Shadow Volume)、以及基于GPU的最新阴影技法。
      osgSim:仿真工具库,包括DOF变换节点、纹理覆盖节点、点光源节点、以及多种虚拟仿真功能相关的功能集合。
     osgTerrain:地形处理库,实现实时的地形处理及显示。
     osgText:文字处理库,实现点阵或矢量文字的显示,包括纹理形式和三维文字形式,支持多种字体和多国编码。
     osgVolume:体渲染实现库,实现各种体渲染的相关技术。
     osgWidget:三维控件库,用于实现三维场景中用户交互控件,例如:编辑框、按钮等。在游戏或聊天工具应用较多。
     osgIntrospection:内省功能的实现者,它封装了OSG与其他语言封装的实现代码。
 
OSG文件读写插件:包括2D图像,3D模型文件和其他类型文件的读写功能插件,可以任意扩展或删除(详见:第十章)。

内省库:提供了OSG与其他开发环境集成的功能,例如:脚本语言Python等。

工具程序和示例集:提供了实用工具和超过100有关OSG使用和功能试验的例子。
原创粉丝点击