博客
关于我
OSG学习:OSG组成(一)——组成模块
阅读量:797 次
发布时间:2023-02-26

本文共 1991 字,大约阅读时间需要 6 分钟。

OpenSceneGraph(OSG)技术文档


OSG 工具

OpenSceneGraph(OSG)提供了一系列工具,用于直接查看和处理相关模型及场景信息。以下是常用工具的使用说明,均基于配置好环境变量的前提下,在命令行中运行。


1. 版本信息查看器:osgVersion

用于查看当前版本及相关信息。基本用法如下:

osgversion // 查看命令行参数功能帮助:-h 或 --help

2. 场景浏览器:osgViewer

用于查看场景及其相关参数。基本用法如下:

// 示例:打开场景文件osgviewer cow.osg// 查看命令行参数功能帮助:-h 或 --help

3. 场景图形压缩归档工具:osgArchive

用于创建和读取压缩格式的数据。生成的压缩文件可在OSG程序(如osgViewer)运行时使用。基本用法如下:

// 查看命令行参数功能帮助:-h 或 --help// 创建压缩包osgarchive -a archive.osga -i cow.osg glider.osg// 列出压缩包中的文件osgarchive -a archive.osga -l// 解压压缩包osgarchive -a archive.osga -e cow.osg

4. 数据转换工具:osgConv

用于读取3D数据并转换为OSG格式。支持多种文件格式,如OpenFlight、3DS、Alias和WaveFront(.obj)等,可转换为OSG本地格式(如.osg或.ive文件)。默认优化后文件更小巧,运行更快。

示例:

// 将cow.obj转换为.ive文件osgconv cow.obj cow.ive// 将cow.obj转换为.ive文件并压缩(自动生成纹理细化)osgconv --compressed cow.obj cow.ive

OSG 核心库

OSG 核心库(Core Library)负责实现场景数据库的组织管理、渲染绘制及进程调度等核心功能。


1. OpenThreads 库

用于进程管理。Windows 系统下采用常见进程调度方法。


2. OSG 库

提供基本场景图类,支持渲染绘制、场景节点管理、图形绘制及渲染状态管理等功能。还包含特定功能类,如命令行解析和错误调试信息。


3. OSGDB 库

负责场景数据的读写工作,支持数据分页管理等功能。需通过遍历场景层次结构完成大部分数据处理。


4. OSGViewer 库

作为OSG 2.0后发展的稳定库,支持跨平台窗口管理,可集中各种窗体系统。它是理解场景管理库的核心。


5. OSGGA 库

提供事件响应功能,支持交互事件处理,如键盘、鼠标、方向盘等。


6. OSGUtil 库

工具类库,提供通用操作场景图形及内容的功能,如更新、裁剪、遍历、数据统计及场景优化。支持Delaunay三角面绘制及法线生成等功能。


OSG 工具库(NodeKit)

NodeKit 是对 OSG 核心库的扩展,提供特效和高级功能。


1. OSGAnimation 库

用于场景动画处理,可控制OSG编程实现的动画或从外部导入的动画。


2. OSGFX 库

支持渲染特效节点,包括:

  • 异性光照特效(AnisotropicLighting)
  • 凹凸贴图特效(BumpMapping)
  • 卡通渲染特效(Cartoon)
  • 凹凸贴图特效(Scribe)
  • 立方镜面高光特效(SpecularHighlights)

3. OSGParticle 库

用于粒子系统节点工具,模拟天气或自然现象效果,如雨、雪、火焰和爆炸等。


4. OSGSim 库

用于虚拟仿真效果的节点工具,支持地形高程图、光点节点和DOF变换节点等。


5. OSGTerrain 库

生成地形数据的节点工具,可读取TIF、IMAGE和DEM等高程数据格式。OSG通过GDAL读取这些数据。


6. OSGText 库

用于场景中添加文字信息,支持TrueType字体显示,包括1D、2D、3D文字及多国语言。


7. OSGShadow 库

用于添加实时阴影效果,支持多种阴影绘制技术。


8. OSGVolume 库

实现体渲染技术,提供多种体渲染支持。


9. OSGWidget 库

提供UI设计功能,目前功能尚不完善。


10. OSGUtil 库

工具类库,提供通用操作场景图形及内容的功能,如更新、裁剪、遍历、数据统计及场景优化。支持Delaunay三角面绘制及法线生成等功能。


OSG 插件库

通过第三方库支持,OSG 可以直接或间接导入3D模型或图片等场景数据,简化绘图工作。


OSG 内省库(OsgIntrospection)

提供与语言无关的运行程序接口,确保OSG在更多环境下运行。允许软件系统使用反射式和自省式编程范式与OSG交互。

转载地址:http://ikvfk.baihongyu.com/

你可能感兴趣的文章
oracle在日本遇到的技术问题
查看>>
Oracle在线重定义
查看>>
oracle基础 管理索引
查看>>
Oracle增量跟新
查看>>
oracle备份恢复之rman恢复到异机
查看>>
oracle复习(一)
查看>>
ORACLE多表关联UPDATE 语句
查看>>
Oracle多表查询与数据更新
查看>>
oracle如何修改单个用户密码永不过期
查看>>
UML- 类图
查看>>
oracle字符集
查看>>
oracle存储参数(storage子句)含义及设置技巧
查看>>
Oracle学习
查看>>
ui 图片素材网站
查看>>
Oracle学习总结(10)——45 个非常有用的 Oracle 查询语句
查看>>
Oracle学习总结(2)——Oracle数据库设计总结(三大范式)
查看>>
Oracle学习总结(3)——Navicat客户端连接Oracle数据库常见问题汇总
查看>>
Oracle学习总结(4)——MySql、SqlServer、Oracle数据库行转列大全
查看>>
Oracle学习总结(6)—— SQL注入技术
查看>>
Oracle学习总结(7)—— 常用的数据库索引优化语句总结
查看>>