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

出版时间:2009-11  出版社:清华大学出版社  作者:王锐,钱学雷 编著  页数:366  
Tag标签:无  

前言

  OpenSceneGraph(OSG)是一个专为3D计算机图形开发而设计的高层次的可编程接口,广泛用于虚拟仿真、动画设计以及各种可视化程序中。OSG基于OpenGL进行构建,因此它同时具备了跨平台的特性和较高的渲染性能。此外,OSG还提供了一系列可供3D程序开发者使用的功能接口,包括2D和3D数据文件的加载、纹理字体支持、细节层次(LOD)控制、多线程数据分页处理等,而这些都是OpenGl~,本身所不具备的。凭借丰富的功能特性以及开放源代码的协议形式,OSG已经广泛地被学术界和产业界所认可。目前使用OSG进行开发的三维软件数以千计,而OSG的开发者团队也早已遍及世界各地。  OSG最早诞生于1990年,当时只是一个基于Linux开发的场景图形(Scene Graph)支持库。2000年以后,OSG的核心功能代码由来自苏格兰(Scotland,UK)的Robert Osfield先生主持开发。与此同时,一个庞大的开发者社区也在不断地为这款开源图形引擎做出贡献。如果您还是一名新近入门的OSG开发者,可能会迷失于OSG本身的繁多功能和过于复杂的结构中,但是您也会从中收获颇丰。  这本书就是其中的一例。早在2006年,由我负责编写和出版了《OpenSceneGraph QuickStart Guide))一书(中文译为《OpenSceneGraph快速入门指导》),而当时主持其中文版翻译和校对工作的,就是本书的作者王锐和钱学雷博士。2009年8月,在美国举办的SIGGRAPH大会上,我很荣幸地与王锐先生会面,聆听了其有关OSG在中国的发展与展望的演讲,并与他进一步讨论了OSG相关文档的编排和完善工作。在中国,他们有着多年研究和使用OSG的丰富经验。而现在,本书的读者,也就是您,将有机会受益于此。  如果把OSG比喻为一片尚未完全开拓的广阔疆域,那么这本书就是您的导航系统,盼望您能够即刻开始一段安心而完满的旅程。

内容概要

OpenSceneGraph(OSG)是一个基于工业图形标准OpenGL的高层次图形开发APl接口,一款开放源代码的、具备商业级别渲染能力的实时三维渲染引擎,在国内外均已得到广泛的应用,并且已经有越来越多的虚拟现实行业开发者加入到OSG开发的行列中来。    本书的编写目的是:详细剖析OpenSceneGraph引擎的实现流程,包括其场景图形结构,几何体绘制和渲染状态的封装机制,场景漫游、交互和动画的实现方式,以及最为重要的对于三维渲染引擎的内部裁减、数据动态调度和多线程渲染机制的深入分析。本书对虚拟现实行业的爱好者和从业者、对愿意了解最新图形学相关技术发展,以及有志于开发自主知识产权的三维引擎系统的读者,均会大有助益。    本书可以作为计算机图形学或虚拟现实专业的高年级本科生和研究生教材使用,也可供三维图形学领域的专门研发人员,尤其是使用0penSceneGraph进行项目开发和科学研究的人员参考、学习。

书籍目录

第1章 初识OpenSceneGraph(OSG) 1.1 场景图形初步    1.1.1 场景图形的概念    1.1.2 具体实现:三维渲染引擎    1.1.3 主流渲染引擎介绍  1.2 0penSceneGraph概述    1.2.1 诞生与发展    1.2.2 优势与不足 1.3 0penSceneGraph的组成结构    1.3.1 核心结构    1.3.2 资源获取    1.3.3  中文社区第2章 OSG的安装与调试 2.1 快速安装和使用    2.1.1 下载预编译包    2.1.2 设置环境变量    2.1.3 建立工程环境    2.1.4 范例:第一个程序  2.2 从源代码进行编译    2.2.1 0SG源代码的获取与更新    2.2.2 编译环境生成工具CMake    2.2.3 基本编译选项    2.2.4 高级编译选项  2.3 调试输入与输出    2.3.1 命令行输入    2.3.2 调试输出第3章 开发预备知识  3.1 基本数学组件    3.1.1 二维与多维向量    3.1.2 四元数    3.1.3 矩阵    3.1.4 包围体  3.2 数组对象    3.2.1  数据数组    3.2.2 数据索引数组  3.3  内存管理机制    3.3.1  智能指针    3.3.2 参照对象    3.3.3 范例:智能指针的使用第4章 场景的组织结构  4.1 节点的定义与种类    4.1.1 场景图形BVH树    4.1.2 节点的父子关系    4.1.3 叶节点与组节点    4.1.4 节点的功能与分类  4.2 节点的访问    4.2.1 访问器机制    4.2.2 节点的遍历函数    4.2.3 范例:节点属性访问器    4.2.4 节点的更新与事件回调    4.2.5 范例:使用回调实现旋转动画  4.3 重要节点的功能实现    4.3.1 空间变换节点    4.3.2 范例:使用空间变换节点    4.3.3  开关节点    4.3.4 范例:使用开关节点    4.3.5 细节层次节点(LOD)    4.3.6 范例:使用LOD节点    4.3.7 范例:节点代理第5章 绘制几何对象与文字  5.1 几何元素的储存    5.1.1 顶点属性    5.1.2 顶点数组、显示列表和VB0……第6章 设置纹理和渲染属性第7章 观察我们的世界第8章 人机交互与图形用户接口第9章 场景中的动画效果 第10章 文件的读写机制第11章 场景的动态更新与裁减第12章 场景的多线程渲染第13章 开源社区与未来主要参考资料

章节摘录

  经过多年的研究和发展,基于OpenGL或DirectX实现的各种渲染引擎已经逐渐趋于成熟,一批优秀的开源和商业引擎也逐渐在市场上占据了主导地位,并越来越为企业和开发者、爱好者们所熟悉。下面介绍一些主流的三维渲染引擎及其主要特色。  (1)PHIGSPHIGS(Programmer’S Hierarchical Interactive Graphics System)是一个起源于20世纪80年代末的三维场景图形标准,其思想为大多数后来者所继承和借鉴,但是这个工具本身已经不再被使用。  (2)Open Inventor  1992年,由Silicon Graphics(SGI)开发的IRIS Inventor(一个构架于当时的IRIS GL 3D API底层接口的场景图形系统)面世。1994年,它的继任者,也就是现在仍然广泛使用的Open Inventor诞生了,这是一个基于OpenGL开发的、跨平台的、面向对象的场景图形系统。2000年,Open Inventor宣布遵循开源协议发布,至今仍然广泛运用于各种工程和科学可视化程序中。  (3)OpenGL Performer  OpenGL Performer(早期称之为IRIS Performer,或者简称为Performer)是一种使用商业协议、基于OpenGL开发的实时虚拟仿真系统,同样由SGI负责开发和维护,并可运行于IRIX、Linux以及Windows系统中。和Open Inventor有所区别的是,1991年诞生的Performer更专注于场景图形系统的重构和性能改善。

编辑推荐

  基于工业图形标准OpenGL的高层次三维渲染引擎。  深入讲解OpenSceneGraph渲染引擎的内部实现及其应用。  详细介绍OpenSceneGraph渲染引擎的组织架构及其实现流程。  OpenGL架构评估编委会(ARB)独立撰稿人Paul Martz先生强力推荐。  拥有丰富的社区资源和强大的网络支持,以方便读者进一步的学习和交流。  全面深入介绍OpenScemGraph基础知识及核心AP函数。  逐一探讨OpensceneGraph中的各个功能模块以及配置开发环境。  提供大量的示例程序演示,源代码分析以及丰富的实际开发经验。  读者将具备开发一歉基于OpenSceneGraph的虚拟现实系统的能力。  拥有丰富的社区资源和强大的网络支持,以方便读者进一步的学习和交流。

图书封面

图书标签Tags

评论、评分、阅读与下载


    OpenSceneGraph三维渲染引擎设计与实践 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7