OpenSceneGraph三维渲染引擎设计与实践

OpenSceneGraph三维渲染引擎设计与实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2009-11
版次: 1
ISBN: 9787302212232
定价: 45.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 366页
字数: 639千字
正文语种: 简体中文
67人买过
  •   《OpenSceneGraph三维渲染引擎设计与实践》的编写目的是:详细剖析OpenSceneGraph引擎的实现流程,包括其场景图形结构,几何体绘制和渲染状态的封装机制,场景漫游、交互和动画的实现方式,以及最为重要的对于三维渲染引擎的内部裁减、数据动态调度和多线程渲染机制的深入分析。《OpenSceneGraph三维渲染引擎设计与实践》对虚拟现实行业的爱好者和从业者、对愿意了解最新图形学相关技术发展,以及有志于开发自主知识产权的三维引擎系统的读者,均会大有助益。
      OpenSceneGraph(OSG)是一个基于工业图形标准OpenGL的高层次图形开发API接口,一款开放源代码的、具备商业级别渲染能力的实时三维渲染引擎,在国内外均已得到广泛的应用,并且已经有越来越多的虚拟现实行业开发者加入到OSG开发的行列中来。
      《OpenSceneGraph三维渲染引擎设计与实践》可以作为计算机图形学或虚拟现实专业的高年级本科生和研究生教材使用,也可供三维图形学领域的专门研发人员,尤其是使用OpenSceneGraph进行项目开发和科学研究的人员参考、学习。 第1章初识OpenSceneGraph(OSG)1
    1.1场景图形初步2
    1.1.1场景图形的概念2
    1.1.2具体实现:三维渲染引擎2
    1.1.3主流渲染引擎介绍3
    1.2OpenSceneGraph概述4
    1.2.1诞生与发展4
    1.2.2优势与不足5
    1.3OpenSceneGraph的组成结构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.1OSG源代码的获取与更新16
    2.2.2编译环境生成工具CMake19
    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顶点数组.显示列表和VBO91
    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.1OpenGL中的渲染状态设置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.4OSG与OpenGL着色语言155
    6.4.1OpenGL着色语言155
    6.4.2着色器属性159
    6.4.3一致变量回调162
    6.4.4范例:在场景中使用GLSL着色语言162

    第7章观察我们的世界167
    7.1场景的观察与变换168
    7.1.1OpenGL中的变换168
    7.1.2相机节点171
    7.1.3范例:鸟瞰图相机174
    7.2图形设备接口176
    7.2.1图形设备与相机176
    7.2.2窗口与像素缓存(PixelBuffer)179
    7.2.3渲染到纹理(RenderToTexture)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.2Windows下窗口设备的实现219
    8.3.3范例:使用WindowsAPI构建渲染窗口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渐进动画(EaseMotion)259
    9.4.2范例:物体的淡入淡出262
    9.4.3纹理动画264
    9.4.4范例:纹理动画效果266

    第10章文件的读写机制269
    10.1数据文件支持机制270
    10.1.1文件格式概述270
    10.1.2OSG支持的文件格式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.4OSG(即.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.2OpenThreads库简介321
    12.1.3范例:线程的创建与控制324
    12.1.4OSG操作线程325
    12.2基本场景渲染流程327
    12.2.1OSG状态机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
  • 内容简介:
      《OpenSceneGraph三维渲染引擎设计与实践》的编写目的是:详细剖析OpenSceneGraph引擎的实现流程,包括其场景图形结构,几何体绘制和渲染状态的封装机制,场景漫游、交互和动画的实现方式,以及最为重要的对于三维渲染引擎的内部裁减、数据动态调度和多线程渲染机制的深入分析。《OpenSceneGraph三维渲染引擎设计与实践》对虚拟现实行业的爱好者和从业者、对愿意了解最新图形学相关技术发展,以及有志于开发自主知识产权的三维引擎系统的读者,均会大有助益。
      OpenSceneGraph(OSG)是一个基于工业图形标准OpenGL的高层次图形开发API接口,一款开放源代码的、具备商业级别渲染能力的实时三维渲染引擎,在国内外均已得到广泛的应用,并且已经有越来越多的虚拟现实行业开发者加入到OSG开发的行列中来。
      《OpenSceneGraph三维渲染引擎设计与实践》可以作为计算机图形学或虚拟现实专业的高年级本科生和研究生教材使用,也可供三维图形学领域的专门研发人员,尤其是使用OpenSceneGraph进行项目开发和科学研究的人员参考、学习。
  • 目录:
    第1章初识OpenSceneGraph(OSG)1
    1.1场景图形初步2
    1.1.1场景图形的概念2
    1.1.2具体实现:三维渲染引擎2
    1.1.3主流渲染引擎介绍3
    1.2OpenSceneGraph概述4
    1.2.1诞生与发展4
    1.2.2优势与不足5
    1.3OpenSceneGraph的组成结构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.1OSG源代码的获取与更新16
    2.2.2编译环境生成工具CMake19
    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顶点数组.显示列表和VBO91
    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.1OpenGL中的渲染状态设置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.4OSG与OpenGL着色语言155
    6.4.1OpenGL着色语言155
    6.4.2着色器属性159
    6.4.3一致变量回调162
    6.4.4范例:在场景中使用GLSL着色语言162

    第7章观察我们的世界167
    7.1场景的观察与变换168
    7.1.1OpenGL中的变换168
    7.1.2相机节点171
    7.1.3范例:鸟瞰图相机174
    7.2图形设备接口176
    7.2.1图形设备与相机176
    7.2.2窗口与像素缓存(PixelBuffer)179
    7.2.3渲染到纹理(RenderToTexture)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.2Windows下窗口设备的实现219
    8.3.3范例:使用WindowsAPI构建渲染窗口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渐进动画(EaseMotion)259
    9.4.2范例:物体的淡入淡出262
    9.4.3纹理动画264
    9.4.4范例:纹理动画效果266

    第10章文件的读写机制269
    10.1数据文件支持机制270
    10.1.1文件格式概述270
    10.1.2OSG支持的文件格式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.4OSG(即.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.2OpenThreads库简介321
    12.1.3范例:线程的创建与控制324
    12.1.4OSG操作线程325
    12.2基本场景渲染流程327
    12.2.1OSG状态机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
查看详情
相关图书 / 更多
OpenSceneGraph三维渲染引擎设计与实践
OpenCV轻松入门:面向Python(第2版)
李立宗
OpenSceneGraph三维渲染引擎设计与实践
OpenShift开发指南(原书第2版)
[美]约书亚·伍德 (美)布赖恩·坦努斯 著
OpenSceneGraph三维渲染引擎设计与实践
OpenCV 4.5计算机视觉开发实战:基于Python
朱文伟 李建英
OpenSceneGraph三维渲染引擎设计与实践
OpenCV计算机视觉项目实战(Python版)
洪锦魁
OpenSceneGraph三维渲染引擎设计与实践
OpenHarmony轻量设备开发理论与实战
齐耀龙
OpenSceneGraph三维渲染引擎设计与实践
OpenCV图像处理技术(微课版)
傅贤君
OpenSceneGraph三维渲染引擎设计与实践
OpenCV入门与技术实践
罗刚
OpenSceneGraph三维渲染引擎设计与实践
OpenCV图像处理实战
贾睿 主编;北京博海迪信息科技有限公司 组编
OpenSceneGraph三维渲染引擎设计与实践
OpenHarmony嵌入式系统原理与应用——基于RK2206芯片(微课视频版)
薛小铃
OpenSceneGraph三维渲染引擎设计与实践
OpenFOAM多物理场计算基础与建模
杨文明 编著
OpenSceneGraph三维渲染引擎设计与实践
OpenStack云计算平台搭建与管理(微课版)
姚骏屏 何桂兰
OpenSceneGraph三维渲染引擎设计与实践
OpenCV 4.0+Python机器学习与计算机视觉实战
[印]梅努阿·吉沃吉安 著;黄进青 译
您可能感兴趣 / 更多
OpenSceneGraph三维渲染引擎设计与实践
里下河青年文学写作计划(共4册)
王锐、汤成难、王忆、陆秀荔 著
OpenSceneGraph三维渲染引擎设计与实践
股票交易密码:“伪”价值投资之路
王锐、王猛 著
OpenSceneGraph三维渲染引擎设计与实践
个体客户剩余生命周期度量模型及管理策略研究
王锐、李彦鸿、王虎 著
OpenSceneGraph三维渲染引擎设计与实践
宁夏贺兰山东麓优质酿酒葡萄栽培的土壤管理技术
王锐、孙权 著
OpenSceneGraph三维渲染引擎设计与实践
贺兰山东麓酿酒葡萄调亏灌溉技术
王锐、孙权 著
OpenSceneGraph三维渲染引擎设计与实践
南方品格(中国南方油画山水画派彭州行作品集)
王锐、王建军 编
OpenSceneGraph三维渲染引擎设计与实践
日语阅读教程1
王锐、曹铁英 著
OpenSceneGraph三维渲染引擎设计与实践
鄂伦春族民俗与音乐的传承流变
王锐、王立扬、初征 著
OpenSceneGraph三维渲染引擎设计与实践
30天征服SAT系列:30天征服SAT语法
王锐、陶卓 著
OpenSceneGraph三维渲染引擎设计与实践
多肽:化学、生物学和药物科学(全英文会议论文)
王锐、王凯荣 编
OpenSceneGraph三维渲染引擎设计与实践
妇产科常见用药误区解析
王锐、王兴华 著;张淑慧 编
OpenSceneGraph三维渲染引擎设计与实践
让受益一生的传世文化经典:谜语
王锐、孙明晓 著