一、osg的库
Osg核心库:提供了基本的场景图形和渲染功能,以及3d图形程序所需的某些特定功能实现。包括:
1.osg库:包含了用于创建场景图形的场景图形节点类,用作向量和矩阵运算的类,几何体类,以及用于描述和管理渲染状态的类,3d图形程序所需的典型功能类,例如命令行参数解析,动画路径管理,以及错误和警告信息类。
2.osgUtil库:osg工具库包含的类和函数,可以用于场景图形及其内容的操作,场景图形数据统计和优化,以及渲染器的创建。它还包括了几何操作的类,例如delaunay三角面片化,三角面片条带化,纹理坐标生成等。
3.osgDB 库:建立和渲染3d数据库的类和函数:允许用户程序加载,使用和写入3d数据库,它采用插件管理的架构。osgDB维护插件的信息注册表,并负责检查将要 被载入的osg插件接口的合法性。OsgDB::DatabasePager实现应用程序从文件中读取各部分数据库信息时,在不干扰当前渲染的前提下以后 台线程的方式进行。
4.osgViewer库:包含了场景中视口及可视化内容的管理类。定义了一些视口类,可以将osg集成到许多视窗设计工具中,如MFC,win32等。
5.osgGA库:用于改写界面事件。
二、图形类节点
osg::Node :所有场景图形类均继承自此类。
Node:场景图形中所有节点的基类。包含了用于场景图形遍历,拣选,程序回调,以及状态管理的方法。
Group:所有可分支节点的基类。
Geode:相当于osg中的叶节点(geometry node)。没有子节点,但是包含了osg::Drawable对象,此中存放了将要被渲染的几何体。
LOD:此类根据观察点与图像子节点的距离选择显示子节点。通常使用它来创建场景中物体的多个显示层级。
MatrixTransform:包含了用于实施子节点几何体的空间转换的矩阵,以实现场景对象的旋转,平移,缩放,倾斜和映射等操作。
Switch:用布尔模板来允许或禁止子节点的运作。