OpenSceneGraph
是一个开源的场景图形管理开发库,是对OpenGL的底层封装,主要为图形图像应用冲虚的开发提供场景管理和图形渲染优化功能。
【百度百科】:OSG是使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL 硬件抽象层(HAL)实现了底层硬件显示的驱动。
OSG的层次结构
应用程序 |
OpenSceneGraph |
OpenGL |
图形硬件 |
OSG主要包括4个库:
(1)OSG核心库(Core Library):实现最核心的场景数据库的组织和管理、对场景图形的操作以及为外部数据库的导入提供接口等。
(2)OSG工具库(NodeKit):对OSG核心库中osg库的扩充,是对OSG核心库的一个补充,它实现了一些特定的功能。
(3)OSG插件库:通过各种第三方的支持,OSG能够直接或间接的导入3D模型或图片等场景数据。
(4)OSG内省库:确保OSG可以在更多的环境下运行。
下面的是上面四个库中比较重要的库,要记住:
osg库:构件场景图形的场景图形节点类、用作向量和矩阵运算的类;可绘制体和几何体类;用于描述和管理渲染状态的类;以及图形程序所需的典型功能类。
osgDB库:用于2D和3D文件读写的插件类注册器,以及用于访问和读写这些插件的特定功能类;数据的动态分页调度机制
osgUtil库:实用工具库。包括场景图形数据统计和优化工具、渲染后台工具、场景剪裁工具;以及大量几何操作相关的类
osgGA库:提供各种视景窗口交互事件的管理工具,用于构建一个与平台无关的人机设备抽象层
osgView库:视景器工具库
osgAnimation:场景动画处理库
osgFX:场景特效库
osgManipulator:场景对象操控库
osgParticle:粒子特效库
osgShadow:阴影特效库
osgSim:仿真工具库
osgTerrain:地形处理库
osgText:文字处理库
osgVolume:体渲染实现库
osgWidget:三维控件库
以前都是一直在看别人写的文章,这是我在优快云发表的第一篇,记录自己所学的,感觉很棒,希望看了此篇的有任何问题都可以批评指正。参考书《OpenSceneGraph三维渲染引擎编程指南》。