第一图书网

计算机图形学

韩正贤 清华大学出版社
出版时间:

2013-1  

出版社:

清华大学出版社  

作者:

韩正贤  

页数:

291  

字数:

378000  

译者:

刘鹏  

Tag标签:

无  

前言

  大学的计算机图形学课程主要集中于动画和实时渲染,然而很少有教材可完美地体现交互式图形学特征,并在理论与实践方面做到较好的平衡且篇幅适中。本书涵盖了计算机图形学中的基础知识,可在一定程度上满足上述要求。本书适用于计算机图形学或游戏程序设计专业高年级本科课程以及初级研究生课程。  除此之外,本书还适用于游戏开发人员。此类人员具备图形API以及着色器编程经验,但缺乏一定的3D图形学背景知识。目前,市场上充斥着大量手册式的程序设计书籍。对于游戏开发人员而言,这一类书籍并未提供应有的数学知识。本书假设读者了解诸如向量和矩阵等较为基础的数学内容,进而将计算机图形学的基础理论和实践经验相结合。  作为交互式图形学的核心内容,GPU始终在不断地发展。为此,本书将围绕GPU程序设计进行组织。GPU可划分为可编程阶段和硬件阶段。针对可编程阶段,本书将阐述各种算法;对于硬件阶段,本书也将对必要知识加以分析。  本书的组织方式和讲述内容均经过精心设计,以使读者深入理解交互式图形学的核心内容。相关章节提供了大量的3D知识,以帮助读者快速地掌握相对复杂的知识点。同时,本书还在提示部分讲述了理论或技术细节,并涵盖了相应的可选章节(采用星号标记)以供读者阅读。当然,读者也可忽略这一部分内容,且不会对后续章节的内容产生任何影响。  Direct3D和OpenGL是两种较为知名的图形API,本书将会弱化API的归属特征,并在多处提供对应的示例代码,进而使读者深入理解交互式图形算法的实现方式。  本书辅助网站地址为http://media.korea.ac.kr/book,其中包含PowerPoint文件格式的教学备案以及视频剪辑在内的其他辅助资源。特别地,教学备案中包含了本书的全部图像。    致谢  本书源自NexonCorporation和KoreaCreativeContentAgency所开发的项目,来自NexonCorporation的众多人员均对本书的出版有所贡献。JubokKim在本书的筹备阶段即提出了许多中肯建议,并分别对本书的Alpha和Beta版本作了校对。SeungwonHan提供了本书所需的3D模型以及其他艺术设计工作。另外,HyunwooKi、JoongwonGouk、MinsunSong也提供了颇具价值的图像。  同时,来自KoreaUniversity的相关人员也对本书的编写工作给予了大力的支持。例如,本书的视觉内容均来自SeungjikLee,他在艺术设计和程序设计方面颇具天分。感谢NguyenTrungKien博士,在他的帮助之下,与纹理相关的3章内容得以顺利完成。HanyoungJang博士对着色模型以及物理模拟等相关章节也提出了宝贵的意见。在KiwonUm的帮助下,笔者对全书章节进行了重新整理。同时,还要感谢来自3DInteractiveMediaLab的学生们,他们是Dong-youngKim、HyunJuShin、YoungBeomKim、EunSeokHan、GwangHyunPark、SeunghoBaek和JunhooPark。本书内容源自KoreaUniversity和CarnegieMellonUniversity的授课内容,在此也要对学生们的反馈信息表示感谢。  EwhaWomansUniversity的YoungJ.Kim教授、SoongsilUniversity的Kyoung-Su教授、KwangwoonUniversity的KangHoonLee教授、UniversityofFlorida的JorgPeters教授以及Crytek的DongwookHa教授阅读了本书的手稿并提出了诸多宝贵的建议和意见,在此深表谢意。此外,还要感谢本书编辑——来自CRCPress的Li-MingLeong,在他的大力支持下,本书方得以顺利出版。  最后,还要感谢Kyung-Ok、Jeehee和Jihoon,感谢你们的陪伴,我爱你们。

内容概要

《计算机图形学--基于3D图形开发技术》编著者JungHyun Han。
《计算机图形学——基于3d图形开发技术》详细阐述了与计算机游戏设计相关的基本解决方案及相应的数据结构和法,主要包括游戏模型、顶点处理机制、光栅化操作、片元处理和输出合并、光照着色、参数曲线和表面、着色器模型、图像纹理、凹凸贴图、高级纹理操作、角色动画以及物理模拟等内容。此外,本书还提供了相应代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。
《计算机图形学——基于3d图形开发技术》适合作为高等院校计算机及相关专业的教材,也可作为相关开发人员的自学教材和参考手册。

作者简介

作者:(韩)韩正贤 译者:刘鹏

书籍目录

第1章 游戏模型
1.1 游戏制作流程
1.2 多边形网格
1.2.1 创建多边形网格
1.2.2 多边形网格的表达方式
1.2.3 表面法线
1.3 模型导出和导入
1.4 坐标系统
本章练习
第2章 顶点处理机制
2.1 世界转换
2.1.1 仿射转换以及齐次坐标
2.1.2 世界矩阵
2.1.3 欧拉转换
2.1.4 表面法线的转换
2.2 视见转换
2.2.1 相机空间
2.2.2 空间转换和视见矩阵
2.3 逐顶点光照
2.4 投影转换
2.4.1 视见体
2.4.2 投影矩阵
2.4.3 投影矩阵的推导过程
本章练习
第3章 光栅化操作
3.1 剪裁操作
3.2 透视除法
3.3 背面剔除操作
3.4 再访坐标系统
3.4.1 3ds max至opengl——翻转坐标轴
3.4.2 opengl至direct3d——反射
3.4.3 opengl至direct3d——顶点重排列
3.5 视口转换
3.6 扫描转换
3.7 应用:对象拾取操作
3.7.1 计算世界空间中的光线
3.7.2 光线-对象相交测试
本章练习
第4章 片元处理和输出合并
4.1 纹理操作
4.1.1 纹理坐标
4.1.2 表面参数化操作
4.1.3 纹理坐标与纹素地址
4.2 输出合并
4.2.1 z缓冲区机制
4.2.2 alpha混合
4.3 z剔除操作
4.3.1 单元(tile)剔除
4.3.2 预写z值
本章练习
第5章 光照和着色
5.1 phong光照模型
5.1.1 漫反射
5.1.2 镜面反射
5.1.3 环境反射
5.1.4 发射光
5.2 着色和着色语言
5.2.1 顶点和片元着色器
5.2.2 高级着色语言
5.3 管线中的光照机制
5.3.1 hlsl中的逐顶点光照机制
5.3.2 逐顶点光照与逐片元光照
5.3.3 hlsl中的逐片元光照
5.4 全局光照
5.4.1 光线跟踪
5.4.2 辐射度
本章练习
第6章 参数曲线和表面
6.1 参数曲线
6.1.1 bezier曲线
6.1.2 hermite曲线和catmull-rom样条
6.2 应用:相机路径
6.3 bezier表面
6.3.1 双线性面片
6.3.2 双二次bezier面片
6.3.3 双三次bezier面片
6.3.4 bezier三角形
本章练习
第7章 着色器模型
7.1 着色器模型4和几何体着色器
7.2 应用:动态粒子系统
7.2.1 粒子的物理模拟
7.2.2 焰火模拟
7.2.3 渲染焰火
7.3 着色器模型5和拼接操作
7.4 应用:pn三角形
7.4.1 计算控制点
7.4.2 计算控制法线
7.4.3 pn三角形拼接操作
本章练习
第8章 图像纹理
8.1 纹理寻址模式
8.2 纹理过滤机制
8.2.1 放大操作
8.2.2 缩小操作
8.3 纹理链
8.3.1 纹理链的构建过程
8.3.2 纹理链过滤机制
8.3.3 纹理链过滤的选取方案
8.4 各向异性过滤机制
本章练习
第9章 凹凸贴图
9.1 高度场
9.2 法线贴图原理
9.2.1 法线贴图
9.2.2 法线贴图算法
9.3 切空间法线贴图
9.3.1 切空间法线贴图算法
9.3.2 切空间计算
9.4 法线贴图应用
9.5 视差贴图
9.6 偏置贴图
本章练习
第10章 高级纹理操作
10.1 环境贴图
10.1.1 立方体贴图
10.1.2 立方体贴图访问机制
10.1.3 动态立方体贴图
10.2 光照贴图
10.2.1 漫反射光照贴图
10.2.2 辐射度法线贴图
10.3 阴影贴图
10.3.1 阴影贴图算法
10.3.2 基于阴影贴图的着色器代码
10.3.3 阴影贴图过滤机制
10.4 环境遮挡
10.5 延迟着色
本章练习
第11章 角色动画
11.1 关键帧动画
11.2 旋转
11.2.1 欧拉角插值
11.2.2 四元数表达方式
11.2.3 基于四元数的旋转
11.2.4 四元数插值
11.3 层次结构建模以及空间变换
11.3.1 层次结构模型
11.3.2 骨骼间的空间变换
11.3.3 世界空间至骨骼空间的转换
11.4 前向运动学
11.5 蒙皮和关键帧动画
11.5.1 蒙皮
11.5.2 关键帧动画中的蒙皮
11.6 逆向运动学
11.6.1 解析法
11.6.2 循环坐标下降法
本章练习
第12章 物理模拟
12.1 惩罚方案
12.2 冲量方案
12.2.1 冲量
12.2.2 基于冲量的碰撞求解方案
12.3 碰撞检测
12.3.1 色围体及其层次结构
12.3.2 三角形-三角形相交测试
本章练习
参考文献

章节摘录

版权页: 插图: 图5.1(c)显示了仅采用环境光项渲染的茶壶对象。由于与茶壶表面并无太大差异,因而渲染结果类似于2D对象。 环境光项类似于真实光照世界中对象问的多次反射结果,观察者可看到场景中的阴暗角落(该场景并非由光源直接照射)。例如,在图5.1(a)和图5.1(b)中,由于未被直接照亮,因而茶壶对象的右下角呈现为黑色。相比较而言,图5.1(c)中茶壶对象的同一部位被照亮。然而,式(5.10)中所定义的环境光项过于简单,因而无法捕捉到真实世界中间接光照的细节内容。10.4节将介绍一种技术,可增加环境反射的细节内容。 5.1.4发射光 发射光项描述了对象表面自身所发射的光线量,可将其简单地定义为RGB颜色值并记为me。图5.1(d)显示了仅采用发射光项的渲染结果(该对象包含较少的发射光颜色值)。需要注意的是,在局部光照模型中,发射光对象并非是光源,且并不照亮场景中的其他对象。 Phong光照模型对上述4项内容进行求和计算,进而确定对象表面的颜色值。 图5.1(e)显示了求和结果。如果对象自身并不发光,则可简单地移除发射光项me。如果对象接近Lambertian表面,则md的RGB分量较大,me的RGB分量则较小。为了逼真地描述发光金属表面,ms应定义为较大值。 5.2着色和着色语言 近年来,GPU性能获得了显著的提升。GPU包含强大的并行体系结构,因而可针对顶点和片元实现彼此独立的细颗粒度操作。另外,包含固定功能处理器的GPU具备可编程能力,进而可增强某些特定的固定功能。实际上,类似于中央处理器单;元CPU,基于图形处理单元的GPU同样内嵌了可编程芯片。 5.2.1顶点和片元着色器 着色是指通过调整光照级别进而描述3D对象中的深度感知效果。在计算机图形学中,光照效果可通过光照模型进行计算。这里,运行TGPU之上的可执行程序称为着色器,其主要任务就是着色。 图5.6基本上可视为图2.1的副本,并显示了渲染管线中的第一个着色器,即顶点着色器(也称为顶点程序)。顶点着色器的输入和输出可视为包含顶点数据的一种结构,如位置、颜色值、纹理坐标等。对于各个顶点,顶点着色器仅执行一次。各个顶点均独自进行处理。因此,GPU的并行结构适用于同步处理大量的顶点数据。 通过顶点着色器输出的顶点可组装为图元(如三角形),同时,硬件光栅器则生成片元以对图元进行填充。随后,片元着色器1(也称为片元程序)针对各个片元执行一次,并计算片元的颜色值。


编辑推荐

《计算机图形学:基于3D图形开发技术》适合作为高等院校计算机及相关专业的教材,也可作为相关开发人员的自学教材和参考手册。

图书封面

图书标签Tags

广告

下载页面


计算机图形学 PDF格式下载



1 如果这本书我在10年前学习计算机图形学就能看到那该多好啊。
2 韩国的游戏开发在亚洲地区领先,是有原因的。


理论方面的书,以后慢慢读。


理论较多。


虽然是opengl矩阵风格,但还是很清楚的告诉很多线性变换的知识。光线追踪 灯光等等一切信息。如果这书能配合opengl编程来一起的话那真是5星级的了


翻译质量只能说一般, 但内容组织和安排很不错, 对照英文电子版看挺有收获! 英文不是很流利而且对现代图形管线感兴趣的可以考虑买来看, 英文流利的直接看原版更合适.


很不错的一本书。3D图形开发原理的讲解需要更清楚一些。


书的触感很好,内容容易懂。


目前市面上唯一一本和游戏关联起来的3D计算机图形学教材,本书的内容相对浅显易懂,缺点是代码太少,理论非常多。但是本书是全彩的,翻译质量也还不错


拿出来一看,哇,好薄啊!打开一看,哇,彩页啊!翻了翻书,哇,好多图和公式啊。具体内容没有细看,一看这个分量就有点想退货。太薄了些吧……没仔细看商品页码……唉……翻了翻内容,看着公式和图不少,感觉上可能在看的时候,便于理解?我也不清楚……一看这厚度就把我打击了……... 阅读更多


相关图书