找回密码
 立即注册
楼主: DungDaj

系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

[复制链接]
发表于 2021-8-10 17:57 | 显示全部楼层
入门:
1.opengl红宝书
2.网上Tutorial

进阶:
1.Mathematics for 3D Game Programming and Computer Graphics
2. Real-Time Rendering
3. GPU Pro1-7
4. 各种Siggraph GDC paper
发表于 2021-8-10 17:59 | 显示全部楼层
推荐一本经典计算机图形学入门教材《计算机图形学编程 使用OpenGL和C++》这是一本无须配合课程使用的自学教材。新书(刚接触过3D图形学的人)更容易学习。

    计算机图形学编程动手实践指南使用OpenGL和C++实现图形学编程美国高校计算机图形编程经典教材
本书使用OpenGL和C++,教授现代3D图形着色器编程。本书从图形编程的基础和准备工作开始,介绍了着色器的各个阶段,包括建模、光照、纹理等基础知识,以及曲面细分、柔和阴影、生成逼真的材质和环境等高级技术实现。
本书为读者提供丰富的学习素材,包括书中使用的所有源代码、模型、纹理、天空盒以及法线贴图,既适合作为高等院校计算机相关专业的计算机图形编程课程的教材或辅导书,也适合对计算机图形编程感兴趣的读者自学。
本书具有以下特色:
● 覆盖C++中的现代OpenGL 4.0+着色器编程;
● 使用可运行的代码示例讲解所有技术,提供完整的源代码以及详细的讲解。
● 详细讲解每个GLSL可编程管线阶段(顶点阶段、曲面细分阶段、几何阶段以及片段阶段)。
● 研究有关建模、光照、阴影(包括柔和阴影)、地形以及3D材质(例如木材和大理石)的实例。
● 介绍现代开发工具(如NVIDIA Nsight调试器),以及如何用其优化代码、提高性能。
● 提供书中使用的所有源代码、模型、图表、纹理、天空盒、天空穹顶、高度贴图和法线贴图。
● 本书为授课教师提供PPT、习题解答、课程大纲等教学辅助资源,请通过contact@epubit.com.cn联系获取。
作者简介:

V.斯科特·戈登(V. Scott Gordon)
加州州立大学萨克拉门托分校教授,教授高级图形和游戏工程课程。他撰写及合著了30多部出版物,涉及人工智能、神经网络、进化计算、软件工程、视频和策略游戏编程,以及计算机科学教育等多个领域。戈登博士在科罗拉多州立大学获得博士学位。

约翰·克莱维吉(John Clevenger)
加州州立大学萨克拉门托分校教授,拥有40多年的教学经验,教学内容包括高级图形、游戏架构、操作系统、VLSI芯片设计、系统仿真和其他主题。他参与了多个用于图形和游戏架构教学的软件框架和工具的开发,其中包括本书Java版第一版中用到的graphicslib3D库。他是国际大学生程序设计竞赛(ICPC)的技术总监,负责监督PC2的持续开发,PC2是目前世界上使用较为广泛的编程竞赛支持系统。克莱维吉博士在加州大学戴维斯分校获得博士学位。
目录

第 1 章 入门.1
1.1 语言和库.1
1.1.1 C++2
1.1.2 OpenGL / GLSL 2
1.1.3 窗口管理.2
1.1.4 扩展库.3
1.1.5 数学库.3
1.1.6 纹理管理.3
1.1.7 可选库.4
1.2 安装和配置.4
参考资料4
第 2 章 OpenGL 图像管线.5
2.1 OpenGL 管线5
2.1.1 C++/OpenGL 应用程序.6
2.1.2 顶点着色器和片段着色器.9
2.1.3 曲面细分着色器.12
2.1.4 几何着色器.13
2.1.5 光栅化.14
2.1.6 片段着色器.15
2.1.7 像素操作.16
2.2 检测OpenGL 和GLSL错误.17
2.3 从文件读取GLSL 源代码.19
2.4 从顶点构建对象.20
2.5 场景动画.21
2.6 C++代码文件结构23
补充说明.24
习题24
参考资料25
第3 章 数学基础. 26
3.1 3D 坐标系统. 26
3.2 点 26
3.3 矩阵 27
3.4 变换矩阵 29
3.4.1 平移矩阵. 29
3.4.2 缩放矩阵. 29
3.4.3 旋转矩阵. 30
3.5 向量 31
3.5.1 点积的应用. 32
3.5.2 叉积的应用. 33
3.6 局部和世界空间 33
3.7 视觉空间和合成相机 34
3.8 投影矩阵 36
3.8.1 透视投影矩阵. 36
3.8.2 正射投影矩阵. 37
3.9 LookAt 矩阵. 38
3.10 用来构建矩阵变换的GLSL函数. 39
补充说明 40
习题. 40
参考资料. 41
第4 章 管理3D 图形数据. 42
4.1 缓冲区和顶点属性 42
4.2 统一变量 44
4.3 顶点属性插值 45
4.4 模型-视图和透视矩阵. 46
4.5 我们的第 一个3D 程序—— 一个3D 立方体 47
4.6 渲染一个对象的多个副本. 53
4.7 在同一个场景中渲染多个不同模型.57
4.8 矩阵堆栈.59
4.9 应对“Z 冲突”伪影64
4.10 图元的其他选项.65
4.11 性能优先的编程方法.66
4.11.1 尽量减少动态内存空间分配66
4.11.2 预先计算透视矩阵.67
4.11.3 背面剔除.68
补充说明.69
习题70
参考资料70
第5 章 纹理贴图71
5.1 加载纹理图像文件.71
5.2 纹理坐标.72
5.3 创建纹理对象.74
5.4 构建纹理坐标.74
5.5 将纹理坐标载入缓冲区.75
5.6 在着色器中使用纹理:采样器变量和纹理单元.76
5.7 纹理贴图:示例程序.77
5.8 多级渐远纹理贴图.79
5.9 各向异性过滤.83
5.10 环绕和平铺.84
5.11 透视变形.85
5.12 材质——更多OpenGL 细节.86
补充说明.86
习题87
参考资料87
第6 章 3D 模型88
6.1 程序构建模型——构建一个球体.88
6.2 OpenGL 索引——构建一个环面.94
6.2.1 环面.94
6.2.2 OpenGL 中的索引95
6.3 加载外部构建的模型.99
补充说明. 106
习题. 107
参考资料. 107
第7 章 光照 108
7.1 光照模型 108
7.2 光源 109
7.3 材质.111
7.4 ADS 光照计算. 112
7.5 实现ADS 光照 114
7.5.1 Gouraud 着色(双线性光强插值法) 115
7.5.2 Phong 着色. 120
7.6 结合光照与纹理 124
补充说明. 126
历史记录. 126
习题. 126
参考资料. 127
第8 章 阴影 128
8.1 阴影的重要性 128
8.2 投影阴影 129
8.3 阴影体 129
8.4 阴影贴图 130
8.4.1 阴影贴图(第 1 轮)——从光源位置“绘制”物体 131
8.4.2 阴影贴图(中间步骤)——将Z 缓冲区复制到纹理 132
8.4.3 阴影贴图(第 2 轮)——渲染带阴影的场景 132
8.5 阴影贴图示例 135
8.6 阴影贴图的伪影 139
8.7 柔和阴影 142
8.7.1 现实世界中的柔和阴影 142
8.7.2 生成柔和阴影——百分比邻近滤波(PCF) . 143
8.7.3 柔和阴影/PCF 程序146
补充说明.148
习题148
参考资料149
第9 章 天空和背景.150
9.1 天空盒.150
9.2 天空穹顶.152
9.3 实现天空盒.153
9.3.1 从头开始构建天空盒.153
9.3.2 使用OpenGL 立方体贴图.156
9.4 环境贴图.158
补充说明.161
习题162
参考资料163
第 10 章 增强表面细节.164
10.1 凹凸贴图.164
10.2 法线贴图.166
10.3 高度贴图.172
补充说明.174
习题175
参考资料175
第 11 章 参数曲面.176
11.1 二次贝塞尔曲线.176
11.2 三次贝塞尔曲线.177
11.3 二次贝塞尔曲面.180
11.4 三次贝塞尔曲面.181
补充说明.183
习题183
参考资料183
第 12 章 曲面细分.184
12.1 OpenGL 中的曲面细分184
12.2 贝塞尔曲面细分.188
12.3 地形、高度图的细分.193
12.4 控制细节级别(LOD).198
补充说明. 200
习题. 201
参考资料. 201
第 13 章 几何着色器 202
13.1 OpenGL 中的逐个图元处理. 202
13.2 修改图元 203
13.3 删除图元 206
13.4 添加图元 207
13.5 更改图元类型 209
补充说明. 211
习题. 211
参考资料. 211
第 14 章 其他技术 212
14.1 雾 212
14.2 复合、混合、透明度. 213
14.3 用户定义剪裁平面 218
14.4 3D 纹理 219
14.5 噪声 223
14.6 噪声应用——大理石. 227
14.7 噪声应用——木材. 230
14.8 噪声应用——云. 233
14.9 噪声应用——特殊效果. 236
补充说明. 238
习题. 238
参考资料. 239
附录A PC(Windows)上的安装与设置 240
A.1 安装库和开发环境 240
A.1.1 安装开发环境. 240
A.1.2 安装OpenGL /
GLSL. 240
A.1.3 准备GLFW 240
A.1.4 准备GLEW 241
A.1.5 准备GLM. 241
A.1.6 准备SOIL2. 241
A.1.7 准备共享的“lib”和“include”文件夹241
A.2 在MS Visual Studio 中开发和部署OpenGL 项目242
参考资料243
附录B Macintosh(macOS)平台上的安装与设置.244
B.1 安装库和开发环境244
B.1.1 准备并安装依赖库.244
B.1.2 准备开发环境.245
B.2 修改Mac 的C++ / OpenGL /GLSL 应用程序代码.246
B.2.1 修改C++代码 247
B.2.2 修改GLSL 代码. 247
B.2.3 补充说明. 248
参考资料. 248
附录C 使用Nsight 图形调试器. 249
C.1 关于NVIDIANsight 249
C.2 设置Nsight 249
C.3 在Nsight 中运行C++/OpenGL应用程序. 250
参考资料. 252
再推荐一本《OpenGL超级宝典(第5版)》
OpenGL ES计算机图形学的经典教程,详细解读基于android、IOS等平台的应用!
《OpenGL超级宝典(第5版)》是OpenGL及3D图形编程的入门指南,涵盖了使用版本的OpenGL进行编程所需要的主要知识。全书分三部分,共16章,另有3个附录。部分包括第1章到第7章,介绍如何构建一个使用OpenGL的程序、如何设置3D渲染环境,以及如何创建基本对象和光线并对他们进行着色。然后深入研究如何使用OpenGL,并向读者介绍GLSL,以及如何创建自己的着色器。第二部分包括第8章到第12章,将进行更深入的研究,而懂得如何应用这些高级特性将使读者业余3D玩家的水平。这一部分不仅能够使我们掌握更多的可视化效果,同时也考虑了性能表现。第三部分包括第13章到第16章,着重介绍OpenGL如何支持和连接Windows、MacOSX、Linux和掌上设备。附录部分给出了更多阅读建议、术语表和API参考介绍。
《OpenGL超级宝典(第5版)》适合希望精通OpenGL以便对图形编程和3D图形知识进行扩展的程序员阅读,也可以帮助经验丰富的OpenGL程序员学习如何移植自己的应用程序。本书既可以作为学习OpenGL的教材,也可以作为随时查阅的参考手册。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-8-10 18:08 | 显示全部楼层
第一阶段是不是线性代数
发表于 2021-8-10 18:12 | 显示全部楼层
刚才看到 @杨开地 推荐了《WINDOWS游戏编程大师技巧》和《3D游戏编程大师技巧》 这两本书,感觉有必要在这里补充一下这个系列的游戏开发全系列。

1、游戏设计的100个原理



世界知名的游戏设计界权威的见解和阐释
深刻揭示原理对游戏设计的启发和价值

本书首次将游戏设计师的想法中最好的一部分变成一个工具包。作者在书中整合了众多游戏设计秘笈,概括并阐释了100 条重要的方法、原理和设计哲学。这些原理是从游戏设计的各个流派中收集而来的,并且从创新、创作、平衡和解决问题这4个角度来组织并加以阐释。每一条原理都采用丰富的案例来介绍多种不同的设计思路,同时以经典图片的形式展现该原理所蕴含的真谛。
经验丰富的设计师终于不用把优秀的想法和经验全都封存在自己脑子里,而刚刚起步的新手可以通过本书来学习最具价值的专业知识。当遇到困难时,每个人都可以通过本书来寻找指示、获得灵感、把握重点。
本书具有以下特色
■包含世界知名的游戏设计界权威的见解和阐释。
■方便查阅,为深入研究每个专题提供一个起点。
■这些原理来源于不同的领域,包括建筑、精神医学、经济学等,本书揭示它们对于游戏设计的价值。
■每一个原理都配有图片说明,易于理解和记忆。
■永不过时的话题,包括反馈循环、游戏机制、原型、规模经济、以用户为中心的设计等。


2、3D游戏编程大师技巧(上、下册)



3D游戏开发经典之作,姚晓光、史晓明、沙鹰等专业人士重磅推荐!

《3D游戏编程大师技巧》由浅入深地介绍了3D图形学基础知识及其在游戏开发中的应用。本书是《Windows游戏编程大师技巧(第2版)》的姊妹篇,但是内容专注于3D编程,层次也更深一些。但作者André LaMothe一向善于把复杂问题简单化,因此,读者可以较为轻松地读懂本书,并掌握3D图形编程的核心技能。

3、Windows游戏编程大师技巧(第2版)



《Windows游戏编程大师技巧(第2版)》堪称是众多游戏开发人员的启蒙经典。作者André LaMothe是把复杂问题简单化讲解方面的大师。时至今日,书中的游戏基础知识和理论、开发技巧,涉及到游戏开发方方面面的核心问题等,仍然很有阅读参考的价值。沙鹰的译本也很准确可靠,得到了读者的认同。如果你想在游戏开发方面打下扎实的基本功,推荐您读读这本书。

4、游戏人工智能编程案例精粹(修订版)



亚马逊连续多年游戏开发畅销图书
AI技术在游戏中应用的经典案例合集
针对实际难题提供权威的专业解决方案

“本书不仅是一本适合游戏编程初学者的入门教材,对于高级程序员或专家也是一个不错的选择。本书简洁明了,内容几乎覆盖AI方面所有重要学科,从基础数学和物理到图论年和Lua脚本编写,再到为程序员创建一些极为精妙的代理行为所需的工具,等等。本书在软件工程方面的内容同样也值得借鉴。演示游戏在代码实例中使用了我们极为熟悉的设计模式。我要将此书推荐给所有游戏程序员。这是一本很值得一读的书,它传播着奇思妙想!”
——Chris Keegan    英国Climax Studios公司技术总监,《恶灵骑士》开发者之一

5、游戏机制——高级游戏设计技术



游戏设计权威专家力作,首次全面剖析游戏机制,全彩印刷!

本书将教你如何打造游戏机制,使机制产生出挑战十足、乐趣丰富、平衡良好的游戏可玩性。你将学习应该在游戏开发的哪些阶段中进行原型构建、测试、机制实现等活动,还会学习如何模拟游戏机制,以及如何将机制可视化地呈现出来,从而设计出更好的游戏。本书还提供了各种练习,使读者能够亲手实践所学的知识。读者还可以免费下载Joris Dormans开发的一个模拟工具,在其易用的图形化环境中进行练习。
6、Cocos2d—X 案例开发大全



真实的商业案例稍微修改就可以用到自己的实际开发中

本书既讲解了Cocos2d-x开发环境的搭建和实战技术,也包括了比较流行的综合案例,如视觉酷炫的体育竞技类游戏、独有的粒子特效休闲类坦克大战游戏、横屏模式的休闲类飞机对战游戏、迎合当今潮流的小清新风格的冒险类游戏、益智消除类游戏、物理仿真类休闲游戏、物理仿真类体育竞技游戏;与地图设计有关的物理仿真类益智解谜类游戏,以及与很流行的“愤怒的小鸟”游戏用的物理引擎一样的仿真类游戏“盛怒的老鼠”。本书所有的案例均来自真实商业项目,读者稍微修改就可以用到自己的实际项目开发中,具有很好的实践价值、丰富的实战技术和技巧!是帮助读者快速进入实战角色的很好的教材。

7、Cocos2D-X游戏开发技术精解



学习Cocos2D-X游戏开发的权威指南,Cocos2D-X技术专家鼎力推荐

Cocos2D-X是一款支持多平台的 2D 手机游戏引擎,支持iOS、Android、黑莓BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。
本书详细介绍如何使用Co cos2D-X引擎开发自己的移动平台游戏。
本书包括以下内容:
■ Cocos2D-X引擎简介;
■ 如何建立跨平台的开发环境;
■ 引擎的核心模块—渲染框架;
■ 如何实现动态画面和用户交互;
■ 二维游戏中背景的实现方法和技术;
■ Box2D物理引擎;
■ 如何掌握声音引擎的用法;
■ Cocos2D-X引擎的文件操作模块和内存管理机制;
■ 各种各样的粒子效果;
■ 如何掌握利用Lua脚本制作游戏的能力;
■ Cocos2D-HTML5引擎版本;引擎的附加功能等。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-8-10 18:19 | 显示全部楼层
推荐学一下CUDA或者openCL,最好是openCL,帮助了解gpu的存储和调度
发表于 2021-8-10 18:27 | 显示全部楼层
如果是初学者,直接nehe教程,有个直观体会。再看看绘制流水线和相关矩阵变换,shader就可以开始写app啦。其他高级主题随兴趣慢慢看。图形学简单的。
发表于 2021-8-10 18:35 | 显示全部楼层
经典的书籍例如:
    Fundamentals of Computer GraphicsPhysically Based Rendering From Theory To ImplementationReal-Time RenderingGPU GemsShaderXGPU ProGPU ZenGPU Pro 360Foundations of Game Engine Development3D Math Primer for Graphics and Game DevelopmentEssential Mathematics for Games and Interactive ApplicationsJim Blinn's CornerGame Engine GemsGame Engine ArchitectureGraphics GemsRay TracingGame Programming GemsThe HDRI HandbookHigh Dynamic Range ImagingInteractive Computer GraphicsRealistic Image Synthesis Using Photon MappingRay Tracing GemsEfficient Illumination Algorithms for Global Illumination In Interactive and Real-Time RenderingMathematics for 3D Game Programming and Computer GraphicsReal-Time ShadowsAdvanced global illuminationComputer Graphics Principles and PracticeComputer Graphics Through OpenGL – From Theory to ExperimentsGame Physics Engine Development- How to Build a Robust Commercial-Grade Physics Engine for your GameGraphics Shaders - Theory and PracticeInsightsThe Magic of Computer Graphics - Landmarks in RenderingOpenGL 4.0 Shading Language Cookbook
本人在Github上总结了一些计算机图形学与计算几何的经典书籍,计算几何与计算机图形学浩如沧海,感觉一辈子都学不完啊,大家有兴趣可以看下我总结的书单哦:
HW140701/Book-list-of-computational-geometry-and-computer-graphics或者
https://www.stubbornhuang.com/1256/
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 04:43 , Processed in 0.065882 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表