2.1 设计和体系 OSG 适用于多种硬件平台,并可在多种不同的图形硬件上进行高效的、实时的渲染。为达到这样的目的,OSG 采用了以下设计理念和工具进行系统的设计和构建: ANSI 标准 C++; C++标准模板库(STL) ; 设计模式(Design patterns,Gamma95) 2.2 命名习惯 命名空间:OSG 的域名空间使用小写字母开头,然后可以使用大写字母以避免混淆。例如,osg,osgSim,osgFX 等。 类:OSG 的类名以大写字母开头,如果类的名称是多个单词的组合,此后 每 个 单 词 首 字 母 大 写。例 如 ,MatrixTransform , NodeVisitor ,Optimizer。 类成员:OSG 类的方法名使用小写字母开头, 如果方法的名称是多个单词 的 组 合 , 此 后 每 个 单 词 的 首 字 母 大 写 。 例 如 ,addDrawable() 。 模板:OSG 模板的命名用小写字母,多个单词之间使下划线分隔。例如, ref_ptr, graph_array。 静态量:静态变量和函数的名称使用 s_开头, 此后的命名与类成员变量及函数的命名方法相同。例如, s_applicationUsage s_ArrayNames() 全 局 量 : 全 局 类 的 实 例 命 名 用 g_ 开头。例 如 , g_NotifyLevel g_readerWriter_BMP_Proxy 2.3 OSG的五大动态链接库 (1) OSG 核心库:它提供了基本的场景图形和渲染功能,以及 3D 图形程序所需的某些特定功能实现。 (2) NodeKits:它扩展了核心 OSG 场景图形节点类的功能,以提供高级节点类 型和渲染特效。 (3) OSG 插件:其中包括了 2D 图像和 3D 模型文件的读写功能库。 (4) 互操作库:它使得 OSG 易于与其它开发环境集成,例如脚本语言 Python和Lua。 (5) 不断扩展中的程序和示例集:它提供了实用的功能函数和正确使用 OSG的例子。 OSG核心库(包括四个链接库) (1) osg 库 包含了用于构建场景图形的场景图形节点类,用作向量和矩阵运算的类,几何体类,以及用于描述和管理渲染状态的类。还包括 3D 图形程序所需的典型功能类,例如命令行参数解析,动画路径管理,以及错误和警告信息类。 命名空间:osg 头文件:OSG_DIR/include/osg Windows 库文件:osg.dll,osg.lib Linux 和 Mac OS X 库文件:libosg.lib (2) osgUtil 库 OSG的工具库,用于场景图形及其内容的操作,场景图形 数据统计和优化,以及渲染器的创建。它还包括了几何操作的 类,例如 Delaunay 三角面片化(Delaunay triangulation) ,三角面片条带化(triangle stripification),纹理坐标生成等。 (3) osgDB 库 包括了建立和渲染 3D 数据库的类与函数。其中包括用于 2D 和 3D 文件读写的 OSG 插件类的注册表,以及用于访问这些插件的特定功能类。osgDB 数据库分页机(database pager)可以支持大型数据段的动态读入和卸载。 (4) osgViewer 库 这个库是 OSG 的 2.0 版本新增的,它包含了场景中视口及可视化内容的管理类。osgViewer 已将 OSG 集成到多种多样的视窗系统中。 2.4 osg库的主要类 场景图形类 几何体类 状态管理类 使用类 场景图形类 Node类:所有类的基类 Group类:是所有可分支节点的基类,图形空间 组织结构的关键类。 Geode类(Geometry Node): 叶节点, 包 含了osg::Drawable 对象,该类对象可以与任意多个Drawable对象关联。 LOD类: MatrixTransform类:用于实施子节点几何体空间转换的矩阵,以实现场景对象的旋转、平移、缩放、倾斜、映射等操作。 Switch类:允许或禁止子节点的运作。 几何体类 Drawable类:用于存储几何数据信息的基类,Geode 维护了一个 Drawable 的列表。Dr
您可能关注的文档
最近下载
- 民法总论课件.ppt VIP
- 低空经济与低空旅游建设方案.pdf VIP
- 《DLT 2934—2025垃圾发电厂飞灰低温处理技术规范》专题研究报告.pptx VIP
- 大气TSP、PM10监测.ppt VIP
- 公用工程车间调试车总结110116.doc VIP
- 畜牧微生物学教学课件电子教案全套课件.pptx VIP
- 2025年移动图书馆第三届知识竞答挑战赛题库及答案(第五关).docx VIP
- 2026年党支部班子在对照加强理论武装、做好群众工作、执行上级组织决定、严格组织生活等“6个对照方面”检查材料2份稿.docx VIP
- 降低患者胃肠减压管非计划拔管率品管圈.pdf
- 业绩完成情况专项审计报告.docx VIP
原创力文档

文档评论(0)