《Real-Time Rendering 3rd》 提炼总结

发布于 2024-12-15 23:16:01 字数 8572 浏览 10 评论 0

在实时渲染和计算机图形学领域,《Real-Time Rendering》系列书籍一直备受推崇。有人说,它是实时渲染的圣经,也有人说,它是绝世武功的目录。

其实《Real-Time Rendering》很像一整本图形学主流知识体系的论文综述,它涵盖了计算机图形和实时渲染的方方面面,可做论文综述合集了解全貌,也可作案头工具书日后查用。

正因如此,初学者直接一字一句读它,其实多少学习坡度会比较陡峭。而在了解了对应内容的大概概念之后,通过检索资料来进行延伸学习,或者在书中介绍晦涩难懂的时候,通过检索资料从侧面来学习,效果会更佳。

对此,我写了一个系列专栏《【《Real-Time Rendering 3rd》 提炼总结】》,共 10 多篇文章,对《Real-Time Rendering 3rd》一书中渲染相关的章节进行了核心内容的梳理,也加上了不少个人的理解与总结。

前言
目录
第一章 全书知识点总览
1.1 《Real-Time Rendering 3rd》其书
1.2 相关背景
1.3 《Real-Time Rendering 3rd》全书知识点总览
1.4 包含宝藏的书本主页
第二章 图形渲染管线
2.1 本章内容思维导图
2.1.1 章节框架思维导图
2.1.2 知识结构思维导图
2.2 核心内容分节提炼
2.2.1 图像渲染管线架构概述
2.2.2 应用程序阶段 The Application Stage
2.2.3 几何阶段 The Geometry Stage
2.2.3.1 模型和视图变换 Model and View Transform
2.2.3.2 顶点着色 Vertex Shading
2.2.3.3 投影 Projection
2.2.3.4 裁剪 Clipping
2.2.3.5 屏幕映射 Screen Mapping
2.2.4 光栅化阶段 The Rasterizer Stage
2.2.4.1 三角形设定 Triangle Setup
2.2.4.2 三角形遍历 Triangle Traversal
2.2.4.3 像素着色 Pixel Shading
2.2.4.4 融合 Merging
2.2.5 管线纵览与总结
2.3 本章内容提炼总结
2.3.1 应用程序阶段
2.3.2 几何阶段
2.3.3 光栅化阶段
第三章 GPU 渲染管线与可编程着色器
3.1 本章内容图示
3.1.1 章节框架图示
3.1.2 GPU 渲染管线流程图
3.2 原书核心内容分节提炼
3.2.1 GPU 管线概述
3.2.2 可编程着色模型
3.2.3 可编程着色的进化史 The Evolution of Programmable Shading
3.2.3.1 着色模型对比 Comparison of Shader Models
3.2.4 顶点着色器 Vertext Shader
3.2.5 几何着色器 The Geometry Shader
3.2.5.1 流输出 Stream Output
3.2.6 像素着色器 Pixel Shader
3.2.7 合并阶段 The Merging Stage
3.2.8 效果 Effect
3.3 本章内容提炼总结
第四章 图形渲染与视觉外观
4.1 导读
4.2 渲染与视觉物理现象
4.3 光照与材质
3.3.1 光照现象:散射与吸收
4.3.2 表面
4.4 着色
4.4.1 着色与着色方程
4.4.1.1 着色方程的漫反射分量
4.4.1.2 着色方程的镜面反射分量
4.4.1.3 着色方程
4.4.2 三种着色处理方法
4.5 抗锯齿与常见抗锯齿类型总结
4.5.1 超级采样抗锯齿(SSAA)
4.5.2 多重采样抗锯齿(MSAA)
4.5.3 覆盖采样抗锯齿(CSAA)
4.5.4 高分辨率抗锯齿(HRAA)
4.5.5 可编程过滤抗锯齿(CFAA)
4.5.6 形态抗锯齿(MLAA)
4.5.7 快速近似抗锯齿(FXAA)
4.5.8 时间性抗锯齿(TXAA)
4.5.9 多帧采样抗锯齿(MFAA)
4.6 透明渲染与透明排序
4.6.1 透明渲染
4.6.2 透明排序
4.6.2.1 深度缓存(Z-Buffer)
4.6.2.2 画家算法(Painter's Algorithm)
4.6.2.3 加权平均值算法(Weighted Average)
4.6.2.4 深度剥离算法(Depth Peeling)
4.7 伽玛校正
4.8 Reference
第五章 纹理贴图及相关技术
5.1 导读
5.2 纹理管线 The Texturing Pipeline
5.2.1 投影函数 The Projector Function
5.2.2 映射函数 The Corresponder Function
5.3 体纹理 Volume Texture
5.4 立方体贴图 Cube Map
5.5 纹理缓存 Texture Caching
5.5.1 最近最少使用策略(Least Recently Used ,LRU)
5.5.2 最近最常使用策略(Most Recently Used,MRU)
5.5.3 预取策略(Prefetching)
5.5.4 裁剪图策略(Clipmap)
5.6 纹理压缩 Texture Compression
5.6.1 DXT1
5.6.2 DXT3
5.6.3 DXT5
5.6.4 ATI1
5.6.5 ATI2
5.6.6 ETC
5.7 程序贴图纹理 Procedural Texturing
5.8 凹凸贴图与其改进
8.1 凹凸贴图 Bump Mapping
8.2 移位贴图 Displacement Mapping
8.3 法线贴图 Normal Mapping
8.4 视差贴图 Parallax Mapping
8.5 浮雕贴图 Relief Mapping
5.9 Reference
第六章 高级着色:BRDF 及相关技术
6.1 导读
6.2 BRDF 前置知识 数学篇
6.2.1 球面坐标 Spherical Coordinate
6.2.2 立体角 Solid Angle
6.2.3 投影面积 Foreshortened Area
6.3 BRDF 前置知识 辐射度量学篇
6.3.1 辐射度量学基本参数表格
6.3.2 辐射通量/光通量 Radiant Flux
6.3.3 辐射强度/发光强度 Radiant Intensity
6.3.4 辐射率/光亮度 Radiance
6.3.5 辐照度/辉度 Irradiance
6.4 BRDF 的定义与理解
6.4.1 BRDF 的定义式
6.4.2 BRDF 的非微分形式
6.4.3 BRDF 与着色方程
6.4.4 对 BRDF 的可视化表示
6.5 BRDF 的性质
6.5.1 可逆性
6.5.2 能量守恒性质
6.5.3 线性特征
6.6 BRDF 的模型分类
6.6.1 BRDF 经验模型
6.6.2 数据驱动的 BRDF 模型
6.6.3 基于物理的 BRDF 模型
6.7 基于物理的 BRDF 前置知识
6.7.1 次表面散射 Subsurface Scattering
6.7.2 菲涅尔反射 Fresnel Reflectance
6.7.3 微平面理论 Microfacet Theory
6.8 基于物理的 BRDF 常见模型
6.8.1 Cook-Torrance BRDF 模型
6.8.2 Ward BRDF 模型
6.9 BRDF 与其引申
6.9.1 BSSRDF
6.9.2 SBRDF(SVBRDF)
6.9.3 BTDF 与 BSDF
6.10 Reference
第七章 延迟渲染的前生今世
7.1 延迟渲染 Deferred Rendering
7.2 几何缓冲区 G-buffer
7.3 延迟渲染的过程分析
7.4 延迟渲染的伪代码
7.5 延迟渲染 vs 正向渲染
7.5.1 正向渲染
7.5.2 延迟渲染
7.6 延迟渲染的优缺点分析
7.6.1 延迟渲染的优点
7.6.2 延迟渲染的缺点
7.7 延迟渲染的改进
7.8 延迟光照 LightPre-Pass / Deferred Lighting
7.9 分块延迟渲染 Tile-BasedDeferred Rendering
7.10 延迟渲染 vs 延迟光照
7.11 实时渲染中常见的 Rendering Path 总结
7.12 环境映射 Environment Mapping
7.13 Reference
第八章 全局光照:光线追踪、路径追踪与 GI 技术进化编年史
8.1 行文思路说明
8.2 全局光照
8.3 全局光照的主要算法流派
8.4 全局光照技术进化编年史
8.4.1 光线投射 Ray Casting [1968]
8.4.2 光线追踪 Ray Tracing [1979]
8.4.3 分布式光线追踪 Distributed Ray Tracing [1984]
8.4.4 渲染方程 The Rendering Equation [1986]
8.4.5 路径追踪 Path Tracing [1986]
8.4.6 双向路径追踪 Bidirectional Path Tracing [1993,1994]
8.4.7 梅特波利斯光照传输 Metropolis Light Transport [1997]
8.5 光线追踪 Ray Tracing
8.6 路径追踪 Path Tracing
8.7 Ray Casting ,Ray Tracing,Path Tracing 区别
8.8 环境光遮蔽 Ambient Occlusion
8.9 Reference
第九章 游戏开发中基于图像的渲染技术总结
9.1 渲染谱 The Rendering Spectrum
9.2 固定视角的渲染 Fixed-View Rendering
9.3 天空盒 Skyboxes
9.4 光场渲染 Light Field Rendering
9.5 精灵与层 Sprites and Layers
9.6 公告板 Billboarding
9.7 粒子系统 Particle System
9.8 替代物 Impostors
9.9 公告板云 Billboard Clouds
9.10 图像处理 Image Processing
9.11 颜色校正 Color Correction
9.12 色调映射 Tone Mapping
9.13 镜头眩光和泛光 Lens Flare and Bloom
9.14 景深 Depth of Field
9.15 运动模糊 Motion Blur
9.16 体渲染 Volume Rendering
9.17 Reference
第十章 非真实感渲染(NPR) 相关技术总结
10.1 非真实感渲染
10.2 卡通渲染
10.3 轮廓描边的渲染方法小结
10.3.1 基于视点方向的描边
10.3.2 基于过程几何方法的描边
10.3.3 基于图像处理的描边
10.3.4 基于轮廓边缘检测的描边
10.3.5 混和轮廓描边
10.4 其他风格的 NPR 渲染技术小结
10.4.1 纹理调色板(Palette of Textures)
10.4.2 色调艺术图(Tonal Art Maps,TAM)
10.4.3 嫁接(Graftals)
10.5 关于水彩风格的 NPR
10.6 NPR 相关著作
10.7 NPR 相关延伸资料推荐
10.8 Reference
第十一章 游戏开发中的渲染加速算法总结
11.0 引言
11.1 空间数据结构 | Spatial Data Structures
11.1.1 层次包围盒 | Bounding Volume Hierarchies , BVH
11.1.1.1 BVH 的延伸阅读材料
11.1.2 BSP 树 | BSP Trees
11.1.2.1 BSP 树的构造
11.1.2.2 BSP 树的遍历
11.1.2.3 BSP 树的种类
11.1.2.4 轴对齐 BSP 树 | Axis-aligned BSP tree
11.1.2.5 多边形对齐 BSP 树 | Polygon-aligned BSP tree
11.1.2.6 BSP 树的延伸阅读材料推荐
11.1.3 八叉树 | Octrees
11.1.3.1 松散八叉树 Loose Octrees
11.1.3.2 八叉树延伸阅读材料
11.1.4 场景图 | Scene Graphs
11.1.4.1 场景图的延伸阅读材料
11.2 裁剪技术 | Culling Techniques
11.3 背面裁剪 | Backface Culling
11.4 层次视锥裁剪 | Hierarchical View Frustum Culling
11.5 入口裁剪 | Portal Culling
11.6 细节裁剪 | Detail Culling
11.7 遮挡剔除 | Occlusion Culling
11.7.1 硬件遮挡查询 | Hardware Occlusion Queries
11.7.2 层次 Z 缓冲 | Hierarchical Z-Buffering
11.7.3 其他遮挡剔除技术 | Other Occlusion Culling Techniques
11.7.3.1 层次遮挡映射算法 | Hierarchical Occlusion Map
11.7.3.2 遮挡地平线算法 | Occlusion Horizons
11.7.3.3 遮挡物收缩与视锥扩张算法 | Occluder Shrinking and Frustum Growing
11.8 层次细节 | LOD,Level of Detail
11.8.1 LOD 的切换 | LOD Switching
11.8.1.1 离散几何 LOD | Discrete Geometry LODs
11.8.1.2 混合 LOD | Blend LODs
11.8.1.3 透明 LOD | Alpha LODs
11.8.1.4 连续 LOD 和几何形变 LOD | CLODs and Geomorph LODs
11.8.2 LOD 的选取 | LOD Selection
11.8.2.1 基于距离的 LOD 选取 |Range-Based
11.8.2.2 基于投影面积的 LOD 选取 | Projected Area-Based
11.8.2.3 基于滞后的 LOD 选取 | Hysteresis
11.8.2.4 其他 LOD 选取方法
11.8.3 时间临界 LOD 渲染 | Time-Critical LOD Rendering
11.9 大型模型的渲染 | Large Model Rendering
11.10 点渲染 | Point Rendering
11.11 Reference
第十二章 渲染管线优化方法论:从瓶颈定位到优化策略
12.0 导读
12.1 渲染管线的构成
12.2 渲染管线的优化概览
12.3 上篇:渲染管线的瓶颈定位策略
12.3.1 光栅化阶段的瓶颈定位
12.3.1.1 光栅化操作的瓶颈定位
12.3.1.2 纹理带宽的瓶颈定位
12.3.1.3 片元着色的瓶颈定位
12.3.2 几何阶段的瓶颈定位
12.3.2.1 顶点与索引传输的瓶颈定位
12.3.2.2 顶点变换的瓶颈定位
12.3.3 应用程序阶段的瓶颈定位
11.4 下篇:渲染管线的优化策略
12.4.1 对 CPU 的优化策略
12.4.1.1 减少资源锁定
12.4.1.2 批次的尺寸最大化
12.4.2 应用程序阶段的优化策略
12.4.2.1 内存层面的优化
12.4.2.2 代码层面的优化
12.4.3 API 调用的优化策略
12.4.4 几何阶段的优化策略
12.4.4.1 减少顶点传输的开销
12.4.4.2 顶点处理的优化
12.4.5 光照计算的优化策略
12.4.6 光栅化阶段的优化策略
12.4.6.1 加速片元着色
12.4.6.2 减少纹理带宽
12.4.6.3 优化帧缓冲带宽
12.5 主流性能分析工具列举
12.7 更多性能优化相关资料
12.8 Reference
附录:《Real-Time Rendering 3rd》核心知识思维导图

下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/12/uqGmswk5eDG2j7y5.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

上一篇:

下一篇: 没有了

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

隔纱相望

文章 0 评论 0

昵称有卵用

文章 0 评论 0

梨涡

文章 0 评论 0

蓝咒

文章 0 评论 0

白芷

文章 0 评论 0

樱娆

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文