OpenSceneGraph学习文档大全下载


CSDN现在下载的积分都是自动设置的,导致有时候大家免费分享都很困难,由于下载需要积分过多,所以整合了部分资源打包在一起分享(只能网盘免费分享了,格局太小,你懂的):

  1. 最长的一帧_王锐;
  2. OSG程序设计_杨石兴;
  3. osgEarth用户手册;OSGDocs3.4.0.chm;
  4. OpenSceneGraph三维渲染引擎设计与实践;
  5. OpenSceneGraph三维渲染引擎编程指南;
  6. OpenSceneGraph基本渲染理论[中文];
  7. OpenSceneGraph基本渲染理论[英文]

https://pan.baidu.com/s/1nuqhu0NOqvnYSZ6n4BQ-BQ

提取码:4egg

第1章 OpenSceneGraph概述 1.1 OpenSceneGraph简介 1.1.1 什么是OpenSceneGraph 1.1.2 OpenSceneGraph的历史和发展 1.1.3 OSG中国 1.1.4 OSG组成模块 1.2 开发的预备知识 1.3 OSG的安装及编译 1.3.1 OSG的获取及安装 1.3.2 编译OSG 1.3.3 OSG邮件列表 1.4 OSG基础 1.4.1 开发环境设置 1.4.2 OSG中的HelloWorld工程 1.4.3 OSG实用工具——场景浏览器osgViewer 1.4.4 OSG实用工具——版本信息查看器osgVersion 1.4.5 OSG实用工具——场景图形压缩归档工具osgArchive 1.4.6 OSG实用工具——数据转换工具osgConv 第2章 OpenSceneGraph数学基础 2.1 坐标系统 2.2 坐标系变换 2.2.1 世界坐标系-物体坐标系变换 2.2.2 物体坐标系-世界坐标系变换 2.2.3 世界坐标系-屏幕坐标系变换 2.3 向量、矩阵及四元数 2.3.1 向量 2.3.2 矩阵 2.3.3 四元数 2.3.4 矩阵与四元数之间的转换 第3章 场景的组织及渲染 3.1 OSG场景树 3.1.1 OSG场景树节点 3.1.2 OSG中的父节点与子节点 3.2 Geode 3.2.1 Billboard节点 3.2.2 布告板示例 3.3 Group 3.3.1 位置变换节点 3.3.2 位置变换节点示例 3.3.3 矩阵变换节点 3.3.4 矩阵变换节点示例 3.3.5 自动对齐节点 3.3.6 自动对齐节点示例 3.3.7 开关节点 3.3.8 开关节点示例 3.3.9 细节层次节点 3.3.10 细节层次节点示例 3.3.11 分页细节层次节点 3.3.12 分页细节层次节点示例 3.3.13 替代节点 3.3.14 替代节点示例 3.3.15 遮挡裁剪节点 3.3.16 遮挡裁剪节点示例 3.3.17 坐标系节点 3.3.18 坐标系节点示例 3.4 场景中节点的拷贝——osg::CopyOp类 3.4.1 自定义场景拷贝示例(一) 3.4.2 自定义场景拷贝示例(二) 第4章 OSG中几何体的绘制 第5章 渲染状态、纹理与光照 第6章 文件的读写 第7章 场景图形的工作机制 第8章 场景图形管理 第9章 OSG文字 第10章 OSG动画与声音 第12章 osgFX扩展库及osgSim扩展库 第13章 OSG地形与地理信息 参考文献
目 录 第1章 OpenSceneGraph概述 1 1.1 OpenSceneGraph简介 2 1.1.1 什么是OpenSceneGraph 2 1.1.2 OpenSceneGraph的历史和发展 2 1.1.3 OSG中国 3 1.1.4 OSG组成模块 3 1.2 开发的预备知识 5 1.3 OSG的安装及编译 6 1.3.1 OSG的获取及安装 6 1.3.2 编译OSG 7 1.3.3 OSG邮件列表 13 1.4 OSG基础 14 1.4.1 开发环境设置 14 1.4.2 OSG中的HelloWorld工程 14 1.4.3 OSG实用工具——场景浏览器osgViewer 17 1.4.4 OSG实用工具——版本信息查看器 osgVersion 21 1.4.5 OSG实用工具——场景图形压缩归档工具 osgArchive 21 1.4.6 OSG实用工具——数据转换工具 osgConv 23 第2章 OpenSceneGraph数学基础 27 2.1 坐标系统 28 2.2 坐标系变换 29 2.2.1 世界坐标系-物体坐标系变换 30 2.2.2 物体坐标系-世界坐标系变换 30 2.2.3 世界坐标系-屏幕坐标系变换 32 2.3 向量、矩阵及四元数 34 2.3.1 向量 34 2.3.2 矩阵 35 2.3.3 四元数 36 2.3.4 矩阵与四元数之间的转换 37 第3章 场景的组织及渲染 41 3.1 OSG场景树 42 3.1.1 OSG场景树节点 42 3.1.2 OSG中的父节点与子节点 42 3.2 Geode 43 3.2.1 Billboard节点 43 3.2.2 布告板示例 44 3.3 Group 48 3.3.1 位置变换节点 48 3.3.2 位置变换节点示例 49 3.3.3 矩阵变换节点 50 3.3.4 矩阵变换节点示例 51 3.3.5 自动对齐节点 53 3.3.6 自动对齐节点示例 53 3.3.7 开关节点 56 3.3.8 开关节点示例 57 3.3.9 细节层次节点 58 3.3.10 细节层次节点示例 59 3.3.11 分页细节层次节点 61 3.3.12 分页细节层次节点示例 61 3.3.13 替代节点 63 3.3.14 替代节点示例 64 3.3.15 遮挡裁剪节点 66 3.3.16 遮挡裁剪节点示例 67 3.3.17 坐标系节点 70 3.3.18 坐标系节点示例 71 3.4 场景中节点的拷贝—— osg::CopyOp类 73 3.4.1 自定义场景拷贝示例(一) 73 3.4.2 自定义场景拷贝示例(二) 79 第4章 OSG中几何体的绘制 83 4.1 场景基本绘图类 84 4.2 基本几何体的绘制 86 4.2.1 几何体类 86 4.2.2 基本几何体绘制示例 87 4.2.3 索引绑定几何体绘制示例 90 4.3 使用OSG中预定义的几何体 93 4.3.1 osg::Shape类 93 4.3.2 osg::ShapeDrawable类 94 4.3.3 网格化类 94 4.3.4 预定义几何体示例 95 4.4 多边形分格化 97 4.5 几何体操作 101 4.5.1 简化几何体 102 4.5.2 简化几何体示例 102 4.5.3 Delaunay三角网绘制 104 4.5.4 Delaunay三角网绘制示例 105 4.5.5 三角带绘制 107 4.5.6 三角带绘制示例 108 4.5.7 生成顶点法向量 111 4.5.8 生成顶点法向量示例 112 第5章 渲染状态、纹理与光照 115 5.1 渲染状态 116 5.1.1 osg::StateSet类 116 5.1.2 渲染属性和渲染模式 117 5.1.3 状态继承 118 5.1.4 渲染状态示例 119 5.2 纹理映射 121 5.2.1 二维纹理映射 123 5.2.2 二维纹理映射示例 126 5.2.3 多重纹理映射 129 5.2.4 多重纹理映射示例 129 5.2.5 Mipmap纹理映射 131 5.2.6 Mipmap纹理映射示例 132 5.2.7 TextureRectangle纹理映射 138 5.2.8 TextureRectangle纹理映射示例 139 5.2.9 自动生成纹理坐标 142 5.2.10 自动生成纹理坐标示例 142 5.2.11 计算纹理坐标 144 5.2.12 计算纹理坐标示例 145 5.2.13 立方图纹理 149 5.2.14 立方图纹理示例 150 5.2.15 渲染到纹理 155 5.2.16 渲染到纹理示例 155 5.2.17 一维纹理 162 5.2.18 一维纹理示例 162 5.2.19 三维纹理映射 164 5.2.20 三维纹理映射示例 166 5.3 光照 171 5.3.1 osg::Light类 171 5.3.2 osg::LightSource类 172 5.3.3 场景中使用光源 173 5.3.4 简单光源示例 174 5.3.5 聚光灯示例 176 5.4 材质 182 5.4.1 材质类 182 5.4.2 材质类示例 184 第6章 文件的读写 187 6.1 OSG支持的文件格式 188 6.1.1 三维模型文件格式 188 6.1.2 图片及视频文件格式 189 6.1.3 打包及网络传输格式 189 6.1.4 字体文件格式 190 6.1.5 伪插件文件格式 190 6.1.6 .osg文件和.ive文件 190 6.2 文件读取的流程 191 6.2.1 osgDB库 191 6.2.2 文件的读取与保存 191 6.2.3 文件读写示例 192 6.2.4 文件读写进度 194 6.2.5 文件读取进度示例 195 6.3 插件的工作机制 198 6.3.1 插件的搜索和注册 198 6.3.2 osgArchive读写流程 199 6.3.3 自定义文件插件 200 6.3.4 自定义文件格式读写插件示例 202 6.4 读写中文文件名及中文路径问题 206 6.5 osgEXP导出文件 209 第7章 场景图形的工作机制 213 7.1 内存管理 214 7.1.1 Referenced类 214 7.1.2 ref_ptr模板类 214 7.1.3 智能指针 215 7.2 访问器机制 215 7.2.1 访问器设计模式 215 7.2.2 osg::NodeVisitor类 216 7.2.3 顶点访问器示例 217 7.2.4 纹理访问器示例 220 7.2.5 节点访问器示例 223 7.3 回调机制 227 7.3.1 osg::NodeCallback类 227 7.3.2 节点回调示例 228 7.3.3 事件回调示例 230 7.3.4 文件读取回调示例 232 7.4 数据变量 235 第8章 场景图形管理 237 8.1 视图与相机 238 8.1.1 osg::Camera类 238 8.1.2 裁剪平面示例(一) 243 8.1.3 裁剪平面示例(二) 244 8.1.4 单视图与相机 246 8.1.5 宽屏变形示例 247 8.1.6 单视图多相机渲染示例 249 8.1.7 多视图与相机 252 8.1.8 多视图相机渲染示例 253 8.1.9 多视图多窗口渲染示例 257 8.2 场景交互与场景漫游 259 8.2.1 osgGA库 259 8.2.2 键盘事件消息处理 261 8.2.3 抓图示例 262 8.2.4 场景漫游 265 8.2.5 自定义操作器场景漫游示例 266 8.2.6 路径漫游 275 8.2.7 路径漫游示例 276 8.3 交运算与对象选取 277 8.3.1 交运算 278 8.3.2 显示位置及拾取示例 280 8.3.3 对象选取示例 285 第9章 OSG文字 289 9.1 osgText 290 9.1.1 osgText::Text类 290 9.1.2 osgText::Font类 293 9.1.3 显示汉字示例 294 9.1.4 各种文字效果(边框、阴影及颜色倾斜) 示例 296 9.1.5 HUD显示汉字示例 300 9.1.6 渐变文字 303 9.1.7 渐变文字示例 304 9.2 osgText3D 306 9.2.1 osgText::Text3D类 307 9.2.2 3D汉字显示示例 307 第10章 OSG动画与声音 311 10.1 路径动画 312 10.1.1 osg::AnimationPath类 312 10.1.2 osg::AnimationPathCallback类 314 10.1.3 路径动画控制及显示示例 314 10.1.4 路径的导出示例 318 10.1.5 路径的导入示例 321 10.2 帧动画 323 10.2.1 osg::Sequence类 324 10.2.2 帧动画显示与控制示例 325 10.3 骨骼动画osgCal 329 10.3.1 Cal3D简介及Cal3D导出 329 10.3.2 编译osgCal 330 10.3.3 骨骼动画osgCal示例 331 10.4 三维立体声音osgAL 336 10.4.1 OpenAL简介 336 10.4.2 osgAL编译 337 10.4.3 osgAL声音播放示例 338 10.4.4 osgAL声音动态加载及播放示例 343 第11章 OSG粒子系统与阴影 351 11.1 粒子系统 352 11.1.1 粒子系统的主要模块 352 11.1.2 粒子系统的模拟过程 354 11.1.3 雾效模拟示例 354 11.1.4 雪效模拟示例 357 11.1.5 雨效模拟示例 359 11.1.6 爆炸模拟示例 360 11.1.7 自定义粒子系统示例(一) 362 11.1.8 自定义粒子系统示例(二) 365 11.1.9 粒子系统的读取与保存 369 11.2 OSG阴影 372 11.2.1 osgShadow库 372 11.2.2 阴影示例 374 第12章 osgFX扩展库及osgSim 扩展库 381 12.1 osgFX扩展库 382 12.1.1 异性光照特效 382 12.1.2 异性光照特效示例 383 12.1.3 凹凸贴图特效 384 12.1.4 凹凸贴图特效示例 386 12.1.5 卡通渲染特效 387 12.1.6 卡通渲染特效示例 388 12.1.7 刻线特效 390 12.1.8 刻线特效示例 390 12.1.9 立方图镜面高光特效 392 12.1.10 立方图镜面高光特效示例 393 12.2 osgSim扩展库 394 12.2.1 DOFTransform类 394 12.2.2 osgSim::Impostor类 397 12.2.3 osgSim::ImpostorSprite类 398 12.2.4 osgSim::MultiSwitch类 399 12.2.5 osgSim::OverlayNode类 400 12.2.6 osgSim::VisibilityGroup类 402 第13章 OSG地形与地理信息 403 13.1 VirtualPlanetBuilder 404 13.1.1 VirtualPlanetBuilder简介 404 13.1.2 编译与参数说明 407 13.1.3 使用实例及说明 411 13.2 海量地形生成解决方案 412 13.3 osgGIS 414 13.3.1 osgGIS简介 414 13.3.2 osgGIS编译 414 13.4 osgGIS实用工具 415 13.4.1 osggis_build 415 13.4.2 osggis_mapper 416 13.4.3 osggis_makelayer 416 13.4.4 osggis_simple 418 13.4.5 osggis_viewer 419 13.5 GIS坐标系 419 13.5.1 GIS中坐标系的定义 419 13.5.2 地理坐标系与投影坐标系 420 参考文献 423
第1章 初识openscenegraph(osg). 1 1.1 场景图形初步 2 1.1.1 场景图形的概念 2 1.1.2 具体实现:三维渲染引擎 2 1.1.3 主流渲染引擎介绍 3 1.2 openscenegraph概述 4 1.2.1 诞生与发展 4 1.2.2 优势与不足 5 1.3 openscenegraph的组成结构 6 1.3.1 核心结构 6 1.3.2 资源获取 8 1.3.3 中文社区 8 第2章 osg的安装与调试 9 2.1 快速安装和使用 10 2.1.1 下载预编译包 10 2.1.2 设置环境变量 11 2.1.3 建立工程环境 13 2.1.4 范例:第一个程序 15 2.2 从源代码进行编译 16 2.2.1 osg源代码的获取与更新 16 .2.2.2 编译环境生成工具cmake 19 2.2.3 基本编译选项 22 2.2.4 高级编译选项 25 2.3 调试输入与输出 28 2.3.1 命令行输入 28 2.3.2 调试输出 29 第3章 开发预备知识 31 3.1 基本数学组件 32 3.1.1 二维与多维向量 32 3.1.2 四元数 35 3.1.3 矩阵 37 3.1.4 包围体 41 3.2 数组对象 44 3.2.1 数据数组 44 3.2.2 数据索引数组 46 3.3 内存管理机制 47 3.3.1 智能指针 48 3.3.2 参照对象 51 3.3.3 范例:智能指针的使用 52 第4章 场景的组织结构 55 4.1 节点的定义与种类 56 4.1.1 场景图形bvh树 56 4.1.2 节点的父子关系 58 4.1.3 叶节点与组节点 59 4.1.4 节点的功能与分类 62 4.2 节点的访问 65 4.2.1 访问器机制 65 4.2.2 节点的遍历函数 67 4.2.3 范例:节点属性访问器 68 4.2.4 节点的更新与事件回调 70 4.2.5 范例:使用回调实现旋转动画 71 4.3 重要节点的功能实现 74 4.3.1 空间变换节点 74 4.3.2 范例:使用空间变换节点 79 4.3.3 开关节点 81 4.3.4 范例:使用开关节点 82 4.3.5 细节层次节点(lod) 83 4.3.6 范例:使用lod节点 85 4.3.7 范例:节点代理 86 第5章 绘制几何对象与文字 89 5.1 几何元素的储存 90 5.1.1 顶点属性 90 5.1.2 顶点数组、显示列表和vbo 91 5.1.3 构建几何体对象 94 5.1.4 范例:简易房屋 100 5.2 几何元素的绘制与访问 103 5.2.1 几何体的绘制实现函数 103 5.2.2 数据的更新显示 108 5.2.3 几何体的更新回调 109 5.2.4 范例:跃动的线 110 5.2.5 信息获取和统计 112 5.2.6 范例:使用仿函数遍历几何体 113 5.3 位图的显示 116 5.3.1 图像与图像的绘制 116 5.3.2 范例:在场景中绘制位图 119 5.4 文字的显示 120 5.4.1 文字的绘制方法 120 5.4.2 文字的绘制实现函数 123 5.4.3 字符编码格式 124 5.4.4 范例:一首古诗 127 第6章 设置纹理和渲染属性 131 6.1 渲染属性与模式 132 6.1.1 opengl中的渲染状态设置 132 6.1.2 节点的渲染状态集合 132 6.1.3 渲染属性概览 135 6.2 纹理与纹理属性 139 6.2.1 纹理的实现方法 139 6.2.2 纹理的分类 143 6.2.3 范例:场景中的纹理设置 146 6.2.4 范例:纹理的明细层次(mipmap) 149 6.3 属性的实现与访问 152 6.3.1 将属性应用到场景 152 6.3.2 渲染状态集回调 153 6.3.3 范例:雾参数的实时更新 153 6.4 osg与opengl着色语言 155 6.4.1 opengl着色语言 155 6.4.2 着色器属性 159 6.4.3 一致变量回调 162 6.4.4 范例:在场景中使用glsl着色语言 162 第7章 观察我们的世界 167 7.1 场景的观察与变换 168 7.1.1 opengl中的变换 168 7.1.2 相机节点 171 7.1.3 范例:鸟瞰图相机 174 7.2 图形设备接口 176 7.2.1 图形设备与相机 176 7.2.2 窗口与像素缓存(pixel buffer) 179 7.2.3 渲染到纹理(render to texture) 181 7.2.4 范例:将场景渲染到纹理 183 7.3 视景器 186 7.3.1 视景器的主要工作 186 7.3.2 单视景器与多视景器 188 7.3.3 范例:投影墙显示 191 7.3.4 范例:多视景器系统 192 7.3.5 视景器辅助部件 194 第8章 人机交互与图形用户接口 197 8.1 获取鼠标和键盘消息 198 8.1.1 事件适配器 198 8.1.2 动作适配器 202 8.1.3 事件队列与处理器 203 8.1.4 范例:处理键盘事件.. 205 8.2 三维人机交互工具 207 8.2.1 漫游器 207 8.2.2 拖曳器 210 8.2.3 范例:场景拖曳器的实现 214 8.3 二维图形用户接口 217 8.3.1 窗口设备 217 8.3.2 windows下窗口设备的实现 219 8.3.3 范例:使用windows api构建渲染窗口 221 第9章 场景中的动画效果 225 9.1 场景动画基本组件 226 9.1.1 关键帧 226 9.1.2 采样与插值 228 9.1.3 动画频道 231 9.1.4 动画更新回调 236 9.1.5 范例:关键帧路径动画 239 9.2 刚体动画 242 9.2.1 简单路径动画 242 9.2.2 范例:使用路径动画回调 244 9.2.3 动画的多频道融合 245 9.2.4 范例:基本动画管理器 246 9.3 角色与变形动画 249 9.3.1 骨骼动画 249 9.3.2 范例:骨骼运动 252 9.3.3 变形体 255 9.3.4 范例:对折硬纸 257 9.4 渲染状态与纹理动画 259 9.4.1 渐进动画(ease motion) 259 9.4.2 范例:物体的淡入淡出 262 9.4.3 纹理动画 264 9.4.4 范例:纹理动画效果 266 第10章 文件的读写机制 269 10.1 数据文件支持机制 270 10.1.1 文件格式概述 270 10.1.2 osg支持的文件格式 272 10.1.3 基本文件读写接口 277 10.2 文件读写插件 279 10.2.1 插件的编写和注册 279 10.2.2 插件的职责链机制 283 10.2.3 文件读写回调 285 10.3 插件设计方法 287 10.3.1 范例:简单插件设计 287 10.3.2 范例:文件读取进度 290 10.4 osg(即.osg)格式及其扩展 292 10.4.1 封装器 292 10.4.2 场景扩展库插件 295 第11章 场景的动态更新与裁减 297 11.1 场景的更新流程 298 11.1.1 人机交互事件的更新 298 11.1.2 用户请求与系统调度的更新 299 11.2 场景的裁减流程 300 11.2.1 裁减的意义与常用技术 300 11.2.2 裁减访问器 303 11.2.3 状态树与状态节点 305 11.2.4 状态树的构建 309 11.2.5 裁减回调 312 11.3 数据的动态调度 313 11.3.1 动态调度技术概述 313 11.3.2 分页数据库 314 11.3.3 范例:分页lod节点 316 11.3.4 分页图像库 318 第12章 场景的多线程渲染 319 12.1 多线程开发技术概述 320 12.1.1 多线程开发的常用概念 320 12.1.2 openthreads库简介 321 12.1.3 范例:线程的创建与控制 324 12.1.4 osg操作线程 325 12.2 基本场景渲染流程 327 12.2.1 osg状态机 327 12.2.2 构建场景渲染树 333 12.2.3 渲染树的优化排序 338 12.2.4 范例:广告牌森林 339 12.3 多种线程模型的讨论与实现 341 12.3.1 渲染器与场景视图 341 12.3.2 单线程模型 347 12.3.3 多设备裁减/绘制模型 348 12.3.4 多设备绘制模型 349 12.3.5 多相机绘制模型 350 12.3.6 数据变度 351 第13章 开源社区与未来 353 13.1 基于osg的开源工程 354 13.1.1 地形与地理信息 354 13.1.2 特效实现 356 13.1.3 扩展节点组件 358 13.1.4 数据和场景管理 358 13.1.5 其他语言封装 360 13.2 开发者资源 360 13.2.1 实用网址 360 13.2.2 用户群体简介 361 13.3 十条箴言 363 主要参考资料... 365
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值