GPU精粹与Shader编程(一) 开篇 & 全系列11本书核心知识点总览

本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处
文章链接: https://zhuanlan.zhihu.com/p/34917895

系列文章前言

《GPU Gems》1~3 、《GPU Pro》1~7 以及《GEM Zen》组成的GPU精粹系列书籍,是游戏开发、计算机图形学和渲染领域的业界大牛们优秀经验的分享合辑汇编,是江湖各大武林门派绝学经典招式的精华荟萃,可谓游戏开发、图形学和渲染领域进阶知识精彩绝伦的饕餮盛宴。

这个系列书籍中所收录的文章不仅有奥斯卡特效大奖得主的成名之作,还有工业光魔业界前沿特效工作室带来的精彩分享,各种著名的游戏工作室、知名游戏引擎一线开发人员的肺腑之言,以及各式图形学大牛的经验之谈,可谓字字珠玑,干货无数。

而因为出版风格的相似性,都是出版当代前沿的图形学文章精粹的合辑汇编,我们可以将《GPU Gems》1~3 、《GPU Pro》1~7 以及《GEM Zen》组成的GPU系列书籍,目前共11本书,合称为“GPU精粹三部曲“。

可以毫不夸张地说,“GPU精粹三部曲“这11本书,是图形学和渲染爱好者站在巨人的肩膀上,了解图形学业界各种高阶知识和技法Trick,将自己的图形学与渲染能力进阶提升到下一个高度的捷径之一

而如果你要造轮子,自己开发3D引擎,书中的不少Trick,前人踩坑的经验总结,也会对你有帮助。

我们可以用一张图来了解“GPU精粹三部曲”目前11本书的面世顺序。

图 GPU精粹三部曲

有趣的是,虽说是三部曲,但其中的每一部,分别由不同的出版社出版:

    • Addison-Wesley出版社的《GPU Gems 1~3》
    • CRC Press出版社的《GPU Pro 1~7》
    • Black Cat Publishing出版社的《GPU Zen》

另外值得注意的是,这三部曲其中仅有《GPU Gems 1~3》有中文版,对应为人民邮电出版社出版的《GPU精粹1》,清华大学出版社出版的《GPU精粹2~3》。

总之,“GPU精粹三部曲”是图形学进阶学习的大宝藏,是图形学和渲染领域进阶知识的饕餮盛宴。如果你希望进阶地学习图形学、渲染以及Shader编程,仔细研读,认真实践,一定会受益匪浅。

系列文章写作风格说明

这个系列,会总结和提炼“GPU精粹三部曲”11本书中总计200+篇关于游戏开发与渲染的核心内容,暂定每篇文章提炼“GPU精粹三部曲”中一本书的核心内容。

暂定对每本书中每章的提炼字数控制在500字以内,而每篇文章,将由20章左右的内容组成。具体的章节分布,可以在下文的核心内容列表一览中看到。

也因为是每篇文章需要提炼一整本书的内容,篇幅有限,只能是抓住重点和核心内容去总结,无法做到事无巨细,每章都交代足够的细节。如果你通过阅读这个系列文章,发现有些章节你很感兴趣,便可以找到原书中对应的原章节,进行进一步详细了解和研究。

而写作顺序方面,自然是按照书籍的出版时间正序进行,即第一篇正式文章,提炼总结《GPU

Gems 1》的内容,最后一篇正式文章,提炼《GPU Zen》的内容。

关于GPU精粹三部曲的有用链接

    • 《GPU Gem》1~3 的英文原文web版,已经由NVIDIA开源,链接在这里:https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01.html
    • 《GPU Pro》 1~7和《GPU Zen》等8本书的主编都是图形大牛 Wolfgang Engel。这边是Wolfgang Engel的博客主页:https://www.blogger.com/profile/11031097395025597662
    • 以及Wolfgang Engel维护的《GPU Pro》系列书籍的博客地址:http://gpupro.blogspot.com/
    • 还有Wolfgang Engel维护的《GPU Zen》系列书籍的博客地址:https://gpuzen.blogspot.com/

GPU精粹全系列核心内容列表一览

前文已经提到,“GPU精粹三部曲”全系列共11本书,具体列举如下:

    • GPU Gems 1 [2004]
    • GPU Gems 2 [2005]
    • GPU Gems 3 [2006]
    • GPU Pro 1 [2010]
    • GPU Pro 2 [2011]
    • GPU Pro 3 [2012]
    • GPU Pro 4 [2013]
    • GPU Pro 5 [2014]
    • GPU Pro 6 [2015]
    • GPU Pro 7 [2016]
    • GPU Zen [2017]

以下对每本书的核心章节分别进行目录式列举。

一、第一本书《GPU Gems 1(GPU精粹1)》

1.1 第一部分 自然效果的渲染(Natural Effects)

第1章 用物理模型进行高效的水模拟(Effective Water Simulation from Physical Models)

第2章 水焦散的渲染(Rendering Water Caustics)

第3章 Dawn Demo中的皮肤(Skin in the "Dawn" Demo)

第4章 Dawn Demo中的动画(Animation in the "Dawn" Demo)

第5章 改良的Perlin噪声实现(Implementing Improved Perlin Noise)

第6章 Vulcan Demo中的火焰渲染(Fire in the "Vulcan" Demo)

第7章 无尽波动草叶的渲染(Rendering Countless Blades of Waving Grass)

第8章 衍射的模拟(Simulating Diffraction)

1.2 第二部分 光照和阴影(Lighting and Shadows)

第9章 有效的阴影体渲染(Efficient Shadow Volume Rendering)

第10章 电影级光照(Cinematic Lighting)

第11章 阴影贴图抗锯齿(Shadow Map Antialiasing)

第12章 全方位阴影映射(Omnidirectional Shadow Mapping)

第13章 使用遮挡区间映射产生模糊的阴影(Generating Soft Shadows Using Occlusion Interval Maps)

第14章 透视阴影贴图(Perspective Shadow Maps: Care and Feeding)

第15章 逐像素光照的可见性管理(Managing Visibility for Per-Pixel Lighting)

1.3 第三部分 材质(Materials)

第16章 次表面散射的实时近似(Real-Time Approximations to Subsurface Scattering)

第17章 环境光遮蔽(Ambient Occlusion)

第18章 空间BRDF(Spatial BRDFs)

第19章 基于图像的光照(Image-Based Lighting)

第20章 纹理爆炸(Texture Bombing)

1.4 第四部分 图像处理(Image Processing)

第21章 实时辉光(Real-Time Glow)

第22章 颜色控制(Color Controls)

第23章 景深 (Depth of Field)

第24章 高品质的图像滤波(High-Quality Filtering)

第25章 用纹理贴图进行快速滤波宽度的计算(Fast Filter-Width Estimates with Texture Maps)

第26章 OpenEXR图像文件格式(The OpenEXR Image File Format)

第27章 图像处理的框架(A Framework for Image Processing)

二、第二本书《GPU Gems 2(GPU精粹2)》

2.1 第一部分 几何复杂性(Geometric Complexity)

第1章 实现照片级真实感的虚拟植物(Toward Photorealism in Virtual Botany)

第2章 使用基于GPU几何体剪切图的地形渲染(Terrain Rendering Using GPU-Based Geometry Clipmaps)

第3章 几何体实例化的内幕(Inside Geometry Instancing)

第4章 分段缓冲(Segment Buffering)

第5章 用多流优化资源管理(Optimizing Resource Management with Multistreaming)

第6章 让硬件遮挡查询发挥作用(Hardware Occlusion Queries Made Useful)

第7章 带有位移映射的细分表面自适应镶嵌(Adaptive Tessellation of Subdivision Surfaces with Displacement Mapping)

第8章 使用距离函数的逐像素位移(Per-Pixel Displacement Mapping with Distance Functions)

2.2 第二部分 着色、光照和阴影(Shading, Lighting, and Shadows)

第9章 S.T.A.L.K.E.R.中的延迟着色(Deferred Shading in S.T.A.L.K.E.R.)

第10章 动态辐照度环境映射实时计算(Real-Time Computation of Dynamic Irradiance Environment Maps)

第11章 近似的双向纹理函数(Approximate Bidirectional Texture Functions)

第12章 基于贴面的纹理映射(Tile-Based Texture Mapping)

第13章 在GPU上实现mental images的phenomena渲染器(Implementing the mental images Phenomena Renderer on the GPU)

第14章 动态环境光遮蔽与间接光照(Dynamic Ambient Occlusion and Indirect Lighting)

第15章 蓝图渲染和草图绘制(Blueprint Rendering and "Sketchy Drawings")

第16章 精确的大气散射(Accurate Atmospheric Scattering)

第17章 利用像素着色器分支的高效模糊边缘阴影(Efficient Soft-Edged Shadows Using Pixel Shader Branching)

第18章 将顶点纹理位移用于水的真实感渲染(Using Vertex Texture Displacement for Realistic Water Rendering)

第19章 通用的折射模拟(Generic Refraction)

3.3 第三部分 高质量渲染(High-Quality Rendering)

第20章 快速三阶纹理过滤(Fast Third-Order Texture Filtering)

第21章 高质量反走样的光栅化(High-Quality Antialiased Rasterization)

第22章 快速预过滤线条(Fast Prefiltered Lines)

第23章 Nalu Demo中的头发动画和渲染(Hair Animation and Rendering in the Nalu Demo)

第24章 使用查找表加速颜色变换(Using Lookup Tables to Accelerate Color Transformations)

第25章 Apple Motion中的GPU图像处理(GPU Image Processing in Apple's Motion)

第26章 改进的Perlin噪声(Implementing Improved Perlin Noise)

第27章 高级的高质量过滤(Advanced High-Quality Filtering)

第28章 Mipmap级的测量(Mipmap-Level Measurement)

3.4 第四部分 GPU的通用计算:初级读本(General-Purpose Computation on GPUS: A Primer)

第29章 流式体系结构和技术趋势(Streaming Architectures and Technology Trends)

第30章 Geforce 6系列GPU的体系结构(The GeForce 6 Series GPU Architecture)

第31章 把计算概念映射到GPU(Mapping Computational Concepts to GPUs)

第32章 尝试GPU计算(Taking the Plunge into GPU Computing)

第33章 在GPU上实现高效的并行数据结构(Implementing Efficient Parallel Data Structures on GPUs)

第34章 GPU流程控制习惯用法(GPU Flow-Control Idioms)

第35章 GPU程序优化(GPU Program Optimization)

第36章 用于GPGPU应用程序的流式缩减操作(Stream Reduction Operations for GPGPU Applications)

3.5 第五部分 面向图像的计算(Image-Oriented Computing)

第37章 GPU上的八叉树纹理(Octree Textures on the GPU)

第38章 使用光栅化的高质量全局照明渲染(High-Quality Global Illumination Rendering Using Rasterization)

第39章 使用逐步求精辐射度方法的全局照明(Global Illumination Using Progressive Refinement Radiosity)

第40章 GPU上的计算机视觉(Computer Vision on the GPU)

第41章 延迟过滤:困难数据格式的渲染(Deferred Filtering: Rendering from Difficult Data Formats)

第42章 保守光栅化(Conservative Rasterization)

三、第三本书《GPU Gems 3(GPU精粹3)》

3.1 第一部分 几何体(Geometry)

第1章 使用GPU 生成复杂的程序化地形(Generating Complex Procedural Terrains Using the GPU)

第2章 群体动画渲染(Animated Crowd Rendering)

第3章 DirectX 10 混合形状:打破限制(DirectX 10 Blend Shapes: Breaking the Limits)

第4章 下一代SpeedTree 渲染(Next-Generation SpeedTree Rendering)

第5章 普遍自适应的网格优化(Generic Adaptive Mesh Refinement)

第6章 GPU 生成的树的程序式风动画(GPU-Generated Procedural Wind Animations for Trees)

第7章 GPU 上基于点的变形球可视化(Point-Based Visualization of Metaballs on a GPU)

第8章 区域求和的差值阴影贴图(Summed-Area Variance Shadow Maps)

3.2 第二部分 光照和阴影(Light and Shadows)

第9章 使用全局照明实现互动的电影级重光照(Interactive Cinematic Relighting with Global Illumination)

第10章 在可编程GPU 中实现并行分割的阴影贴图(Parallel-Split Shadow Maps on Programmable GPUs)

第11章 使用层次化的遮挡剔除和几何着色器得到高效鲁棒的阴影体(Efficient and Robust Shadow Volumes Using Hierarchical Occlusion Culling and Geometry Shaders)

第12章 高质量的环境光遮蔽(High-Quality Ambient Occlusion)

第13章 作为后处理的体积光照散射(Volumetric Light Scattering as a Post-Process)

3.3 第三部分 渲染(Rendering)

第14章 用于真实感实时皮肤渲染的高级技术(Advanced Techniques for Realistic Real-Time Skin Rendering)

第15章 可播放的全方位捕捉(Playable Universal Capture)

第16章 Crysis 中植被的程序化动画和着色(Vegetation Procedural Animation and Shading in Crysis)

第17章 鲁棒的多镜面反射和折射(Robust Multiple Specular Reflections and Refractions)

第18章 用于浮雕映射的松散式锥形步进(Relaxed Cone Stepping for Relief Mapping)

第19章 Tabula Rasa 中的延迟着色(Deferred Shading in Tabula Rasa)

第20章 基于GPU的重要性采样(GPU-Based Importance Sampling)

3.4 第四部分 图像效果(Image Effects)

第21章 真正的Impostor(True Impostors)

第22章 在GPU上烘焙法线贴图(Baking Normal Maps on the GPU)

第23章 高速的离屏粒子(High-Speed, Off-Screen Particles)

第24章 保持线性的重要性(The Importance of Being Linear)

第25章 在GPU 上渲染矢量图(Rendering Vector Art on the GPU)

第26章 通过颜色进行对象探测:使用GPU 进行实时视频图像处理(Object Detection by Color: Using the GPU for Real-Time Video Image Processing)

第27章 作为后处理效果的运动模糊(Motion Blur as a Post-Processing Effect)

第28章 实用景深后期处理(Practical Post-Process Depth of Field)

四、第四本书《GPU Pro 1》

4.1 第一部分 渲染技巧(Rendering Techniques)

1. 结合高度混合的四叉树位移贴图(Quadtree Displacement Mapping with Height Blending)

2. 基于几何着色器的NPR效果(NPR Effects Using the Geometry Shader)

3. 作为后处理的alpha混合(Alpha Blending as a Post-Process)

4. 虚拟纹理映射101(Virtual Texture Mapping 101)

4.2 第二部分 全局光照(Global Illumination)

1. 用于间接光照的快速,基于模板的多分辨率泼溅(Fast, Stencil-Based Multiresolution Splatting for Indirect Illumination)

2. 屏幕空间定向遮蔽(Screen-Space Directional Occlusion)

3. 使用几何Impostors的实时多级光线追踪(Real-Time Multi-Bounce Ray-Tracing with Geometry Impostors)

4.3 第三部分 图像空间(Image Space)

1. GPU上的各项异性的Kuwahara滤波(Anisotropic Kuwahara Filtering on the GPU)

2. 边缘抗锯齿的后处理(Edge Anti-aliasing by Post-Processing)

3. 使用Floyd-Steinberg半色调的环境映射(Environment Mapping with Floyd-Steinberg

Halftoning)

4. 用于粒状遮挡剔除的分层项缓冲(Hierarchical Item Buffers for Granular Occlusion Culling)

5. 后期制作中的真实感景深(Realistic Depth of Field in Postproduction)

6. 实时屏幕空间的云层光照(Real-Time Screen Space Cloud Lighting)

7. 屏幕空间次表面散射(Screen-Space Subsurface Scattering)

4.4 第四部分 阴影(Shadows)

1. 快速常规阴影过滤(Fast Conventional Shadow Filtering)

2. 混合最小/最大基于平面的阴影贴图(Hybrid Min/Max Plane-Based Shadow Maps)

3: 利用四面体映射实现全向光的阴影映射(Shadow Mapping for Omnidirectional Light Using Tetrahedron Mapping)

4. 屏幕空间软阴影(Screen Space Soft Shadows

4.5 第五部分 3D引擎设计(3D Engine Design)

1. 基于桶排序的GPU多片段效果(Multi-Fragment Effects on the GPU Using Bucket Sort)

2.随着cell带宽引擎的并行光预通道渲染(Parallelized Light Pre-Pass Rendering with the Cell Broadband Engine)

3. 在Direct3D9和OpenGL 2之间移植代码(Porting Code between Direct3D9 and OpenGL 2.0)

4. DirectX 9实用线程渲染(Practical Thread Rendering for DirectX 9)

4.6 第六部分 游戏解析(Game Postmortems)

1. Spore中的风格化渲染(Stylized Rendering in Spore)

2: 《狂野西部:生死同盟》中的渲染技巧(Rendering Techniques in Call of Juarez: Bound in Blood )

3. 制作大型,漂亮、快速且流畅的游戏:经验教训(Making it Large, Beautiful, Fast, and Consistent: Lessons Learned)

4. 可破坏的体积地形(Destructible Volumetric Terrain)

五、第五本书《GPU Pro 2》

5.1 第一部分 几何操作(Geometry Manipulation)

1. 使用硬件镶嵌的地形和海洋渲染(Terrain and Ocean Rendering with Hardware Tessellation)

2. 实际且真实的面部皱纹动画(Practical and Realistic Facial Wrinkles Animation)

3. GPU上的程序内容生成(Procedural Content Generation on the GPU)

5.2 第二部分 渲染(Rendering)

1. 预集成的皮肤着色(Pre-Integrated Skin Shading)

2. 使用延迟着色实现毛发(Implementing Fur Using Deferred Shading)

3. 户外游戏的大规模地形渲染(Large-Scale Terrain Rendering for Outdoor Games)

4. 实用形态学抗锯齿(Practical Morphological Antialiasing)

5. 体积贴花(Volume Decals)

5.3 第三部分 全局光照效果(Global Illumination Effects)

1. 时域屏幕空间环境光遮蔽(Temporal Screen-Space Ambient Occlusion)

2. 细节层次与流优化的辐照度法线映射(Level-of-Detail and Streaming Optimized Irradiance Normal Mapping)

3. 使用光线追踪的实时单次弹射间接光照与阴影(Real-Time One-Bounce Indirect Illumination and Shadows using Ray Tracing)

4. 半透明均匀介质中光传输的实时近似(Real-Time Approximation of Light Transport in Translucent Homogenous Media)

5. 基于时间相关光传播量的漫反射全局光照(Diffuse Global Illumination with Temporally Coherent Light Propagation Volumes)

5.4 第四部分 Shadows 阴影

1. 减少方差阴影图光漏的技巧(Variance Shadow Maps Light-Bleeding Reduction Tricks)

2. 基于自适应阴影贴图的快速软阴影(Fast Soft Shadows via Adaptive Shadow Maps)

3. 自适应体积阴影贴图(Adaptive Volumetric Shadow Maps)

4. 具有时间相关性的快速软阴影(Fast Soft Shadows with Temporal Coherence)

5. Mip贴图屏幕空间软阴影(Mipmapped Screen-Space Soft Shadows)

5.5 第五部分 手持设备(Handheld Devices)

1. 一个基于Shader的电子书渲染器(A Shader-Based eBook Renderer)

2. 移动设备上的后处理特效(Post-Processing Effects on Mobile Devices)

3. 基于shader的水特效(Shader-Based Water Effects)

5.6 第六部分 3D Engine Design (3D引擎设计)

1. 对于游戏的实用动态可见性(Practical, Dynamic Visibility for Games)

2. 使用像素四元消息传递的着色器分摊(Shader Amortization using Pixel Quad Message Passing)

3. 用于实时群体的渲染流水线(A Rendering Pipeline for Real-Time Crowds)

六、第六本书《GPU Pro 3》

6.1 第一部分 几何操作(Geometry Manipulation)

1. 顶点着色器的镶嵌(Vertex Shader Tessellation)

2. 基于DirectX 11的实时变形地形渲染(Real-Time Deformable Terrain Rendering with DirectX 11)

3. 优化体育场的人群渲染(Optimized Stadium Crowd Rendering)

4. 几何抗锯齿方法(Geometric Antialiasing Methods)

6.2 第二部分 渲染(Rendering)

1. 基于GPU的实用椭圆纹理滤波(Practical Elliptical Texture Filtering on the GPU)

2. 对大气散射的Chapman掠入射函数近似(An Approximation to the Chapman Grazing-Incidence Function for Atmospheric Scattering)

3. 立体实时水与泡沫的渲染(Volumetric Real-Time Water and Foam Rendering)

4. CryENGINE 3:回顾近三年的工作(CryENGINE 3: Three Years of Work in Review)

5. 简单对象的廉价抗锯齿(Inexpensive Antialiasing of Simple Objects)

6.3 第三部分 全局光照效果(Global Illumination Effects)

1. 使用Oriented Splats网格的光线追踪近似反射(Ray-Traced Approximate Reflections

Using a Grid of Oriented Splats)

2. 屏幕空间弯曲锥体:一种实用的方法(Screen-Space Bent Cones: A Practical Approach)

3. 基于体素模型的实时近场全局照明(Real-Time Near-Field Global Illumination Based on a Voxel Model)

6.4 第四部分 阴影(Shadows)

1.对阴影贴图的高效在线可见性(Efficient Online Visibility for Shadow Maps)

2. 深度拒绝图案阴影(Depth Rejected Gobo Shadows)

6.5 第五部分 3D引擎设计(3D Engine Design)

1. Z3剔除(Z3 Culling)

2. 基于四元数的渲染流水线(A Quaternion-Based Rendering Pipeline)

3. 用DirectX 11实现定向自适应边缘AA滤波器(Implementing a Directionally Adaptive

Edge AA Filter Using DirectX 11)

4. 设计一个数据驱动的渲染器(Designing a Data-Driven Renderer)

七、第七本书《GPU Pro 4》

7.1 第一部分 几何操作(Geometry Manipulation)

1. GPU地形细分和镶嵌(GPU Terrain Subdivision and Tessellation)

2. 对可编程顶点Pulling渲染流水线的简介(Introducing the Programmable Vertex Pulling Rendering Pipeline)

3. WebGL全局渲染流水线(A WebGL Globe Rendering Pipeline)

7.2 第二部分 渲染(Rendering)

1. 使用Cubemaps和图像代理的实用平面反射(Practical Planar Reflections Using Cubemaps and Image Proxies)

2. 实时Ptex和矢量位移(Real-Time Ptex and Vector Displacement)

3. 在GPU上解耦延迟着色(Decoupled Deferred Shading on the GPU)

4. 分块前向着色(Tiled Forward Shading)

5. 实时渲染向电影式渲染的迈进(Forward+: A Step Toward Film-Style Shading in Real Time)

6. 渐进屏幕空间多通道表面体素化(Progressive Screen-Space Multichannel Surface Voxelization)

7. 基于体素的动态全局照明(Rasterized Voxel-Based Dynamic Global Illumination)

7.3 第三部分 图像空间(Image Space)

1. 《小龙斯派罗:交换力量》中的景深着色器(The Skylanders SWAP Force Depth-of-Field Shader)

2. 模拟后处理景深方法中的局部遮蔽(Simulating

Partial Occlusion in Post-Processing Depth-of-Field Methods)

3. 第二深度抗锯齿(Second-Depth Antialiasing)

4. 实用的帧缓冲压缩(Practical Framebuffer Compression)

5. 一致性 - 增强GPU上的过滤效果(Coherence-Enhancing Filtering on

the GPU)

7.4 第四部分 阴影(Shadows)

1. 实时深度阴影贴图(Real-Time Deep Shadow Maps)

7.5 第五部分 游戏引擎设计(Game Engine Design)

1. 基于方向的引擎架构(An Aspect-Based Engine Architecture)

2. 使用Direct3D 11进行Kinect编程(Kinect Programming with Direct3D 11)

3. 一个对Authored Structural Damage的管线(A Pipeline for Authored Structural

Damage)

八、第八本书《GPU Pro 5》

8.1 第一部分 渲染(Rendering)

1. 对单通道A缓冲的每像素列表(Per-Pixel Lists for Single Pass A-Buffer)

2. 使用双通道颜色编码减少纹理内存使用(Reducing Texture Memory Usage by 2-Channel Color Encoding)

3. 基于粒子的老化材质模拟(Particle-Based Simulation of Material Aging)

4. 简单的基于光栅化的液体(Simple Rasterization-Based Liquids)

8.2 第二部分 光照与着色(Lighting and Shading)

1. 基于物理的区域光照(Physically Based Area Lights)

2. 利用极线采样的高性能室外光照散射(High Performance Outdoor Light Scattering Using Epipolar Sampling)

3.《杀戮地带》中的体积光效果:Shadow Fall(Volumetric Light Effects in Killzone: Shadow Fall)

4. 层次-Z 屏幕空间锥追踪反射(Hi-Z Screen-Space Cone-Traced Reflections)

5. TressFX:先进的实时毛发渲染(TressFX: Advanced Real-Time Hair Rendering)

6. 线的抗锯齿(Wire Antialiasing)

8.3 第三部分 图像空间(Image Space)

1. 屏幕空间的草地(Screen-Space Grass)

2. 基于每像素链表构造实体几何的屏幕空间可变形网格(Screen-Space Deformable Meshes via CSG with Per-Pixel Linked Lists)

3. SPU上的背景虚化效果(Bokeh Effects on the SPU)

8.4 第四部分 移动设备(Mobile Devices)

1. 手机上的真实感实时皮肤渲染(Realistic Real-Time Skin Rendering on Mobile)

2. 移动设备上的延迟渲染技术(Deferred Rendering Techniques on Mobile Devices)

3. 使用ARM? Mali? GPUs的带宽高效图形渲染(Bandwidth Efficient Graphics with ARM? Mali? GPUs)

4. 使用OpenGL ES 3.0的高效目标变形动画(Efficient Morph Target Animation Using OpenGL ES 3.0)

5. 分块延迟模糊(Tiled Deferred Blending)

6. 自适应可伸缩纹理压缩(Adaptive Scalable Texture Compression)

7. 针对ARM? Mali?-T600 GPU的OpenCL内核优化(Optimizing OpenCL Kernels for the ARM? Mali?-T600 GPUs)

8.5 第五部分 3D引擎设计(3D Engine Design)

1. 重新认识四元数(Quaternions Revisited)

2. glTF : 设计一个开放标准的运行时资源格式(glTF: Designing an Open-Standard Runtime Asset Format)

3. 管理Hierarchy中的变换(Managing Transformations in Hierarchy)

8.6 第六部分 计算(Compute)

1. TressFX中的头发模拟(Hair Simulation in TressFX)

2. 对全动态场景的对象次序光线追踪(Object-Order Ray Tracing for Fully Dynamic Scenes)

3. GPU上的四叉树(Quadtrees on the GPU)

九、第九本书《GPU Pro 6》

9.1 第一部分 几何操作(Geometry Manipulation)

1. 动态GPU地形(Dynamic GPU Terrain)

2. 在GPU上通过镶嵌的带宽高效程序化网格(Bandwidth-Efficient Procedural Meshes in the GPU via Tessellation)

3. 物体碰撞时细分表面的实时形变(Real-Time Deformation of Subdivision Surfaces on Object Collisions)

4. 游戏中的逼真体积爆炸(Realistic Volumetric Explosions in Games)

9.2 第二部分 渲染(Rendering)

1. 《神偷》中的下一代渲染技术(Next-Generation Rendering in Thief)

2. 草地渲染和使用LOD的模拟(Grass Rendering and Simulation with LOD)

3. 混合重建抗锯齿(Hybrid Reconstruction Antialiasing)

4. 使用预计算散射的基于物理的云层实时渲染(Real-Time Rendering of Physically Based Clouds Using Precomputed Scattering)

5. 稀疏程序化体渲染(Sparse Procedural Volume Rendering)

9.3 第三部分 光照(Lighting)

1. 使用光照链表的实时光照(Real-Time Lighting via Light Linked List)

2. 延迟归一化的辐照度探针(Deferred Normalized Irradiance Probes)

3. 体积雾与光照(Volumetric Fog and Lighting)

4. GPU上基于物理的光照探针(Physically Based Light Probe Generation on GPU)

5. 使用薄片的实时全局光照(Real-Time Global Illumination Using Slices)

9.4 第四部分 阴影(Shadows)

1. 实用屏幕空间软阴影(Practical Screen-Space Soft Shadows)

2. 基于分块的全方位阴影(Tile-Based Omnidirectional Shadows)

3. 阴影贴图轮廓的重新矢量化(Shadow Map Silhouette Revectorization)

9.5 第五部分 移动设备(Mobile Devices)

1. PowerVR GPU上的混合光线追踪(Hybrid Ray Tracing on a PowerVR GPU)

2. 实现一个仅有GPU的粒子碰撞系统,使用自适应可伸缩纹理压缩3D纹理和OpenGL ES 3.0(Implementing a GPU-Only Particle-Collision System with ASTC 3D Textures and OpenGL ES 3.0)

3. 针对移动设备的动画角色毛皮(Animated Characters with Shell Fur for Mobile Devices)

4. 移动GPU的高动态范围计算摄影(High Dynamic Range Computational Photography on Mobile GPUs)

9.6 第六部分 计算(Compute)

1. 基于计算的分块剔除(Compute-Based Tiled Culling)

2. 在GPU光线追踪器上渲染矢量位移映射表面(Rendering Vector Displacement-Mapped Surfaces in a GPU Ray Tracer)

3. 对体渲染的平滑概率环境光遮蔽(Smooth

Probabilistic Ambient Occlusion for Volume Rendering)

9.7 第七部分 3D引擎设计(3D Engine Design)

1. 用于快速光线投射操作的分块线性二元方格(Block-Wise Linear Binary Grids for Fast Ray-Casting Operations)

2. 采用Shader Shaker基的于语义的着色器生成(Semantic-Based Shader Generation Using Shader Shaker)

3. ANGL: 将OpenGL ES引入桌面端(ANGLE: Bringing OpenGL ES to the Desktop)

十、第十本书《GPU Pro 7》

10.1 第一部分 几何操作(Geometry Manipulation)

1.《古墓丽影:崛起》中的延迟雪地形变(Deferred Snow Deformation in Rise of the Tomb Raider)

2. Catmull Clark细分曲面(Catmull-Clark Subdivision Surfaces)

10.2 第二部分 光照(Lighting)

1. 集群着色:使用DirectX12中的保守光栅化指定光照(Clustered Shading: Assigning Lights Using Conservative Rasterization in DirectX 12)

2. 精细删减的分块光照列表(Fine Pruned Tiled Light Lists)

3. 延迟属性插值着色(Deferred Attribute Interpolation Shading)

4. 实时的体积云朵景观(Real-Time Volumetric Cloudscapes)

10.3 第三部分 渲染(Rendering)

1. 自适应虚拟纹理(Adaptive Virtual Textures)

2. 延迟粗像素着色(Deferred Coarse Pixel Shading)

3. 使用多帧采样进行渲染(Progressive Rendering Using Multi-frame Sampling)

10.4 第四部分 移动设备(Mobile Devices)

1. 基于静态局部立方体贴图的高效软阴影(Efficient Soft Shadows Based on Static Local Cubemap)

2. 移动平台上基于物理的延迟着色(Physically Based Deferred Shading on Mobile)

十一、第十一本书《GPU Zen》

11.1 第一部分 几何操作(Geometry Manipulation)

1. 属性顶点云层(Attributed Vertex Clouds)

2. 使用内保守光栅化渲染凸面遮挡物(Rendering Convex Occluders with Inner Conservative Rasterization)

11.2 第二部分 光照(Lighting)

1. 稳定的间接光照(Stable Indirect Illumination)

2. 使用膨化体积光的参与性介质(Participating Media Using Extruded Light Volumes)

11.3 第三部分 渲染(Rendering)

1. Deferred+ : 针对Dawn引擎的下一代剔除和渲染(Deferred+: Next-Gen Culling and Rendering for the Dawn Engine)

2. 使用保守光栅化的可编程每像素采样放置(Programmable Per-pixel Sample Placement with Conservative Rasterizer)

3. 手机卡通渲染(Mobile Toon Shading)

4. 高质量高效GPU图像细节处理(High Quality GPU-efficient Image Detail Manipulation)

5. 使用线性变换余弦的线性光着色(Linear-Light Shading with Linearly Transformed Cosines)

11.4 第四部分 屏幕空间(Screen Space)

1.可扩展的自适应屏幕空间环境光遮蔽(Scalable Adaptive SSAO)

2.在PS4上达到1ms 1080p的鲁棒性屏幕空间环境光遮蔽(Robust Screen Space Ambient Occlusion in 1 ms in 1080p on PS4)

3.基于实际采集的散景(Practical Gather-based Bokeh)

结语

可以发现,仅“GPU精粹三部曲”目录式的200+核心章节名称的列举,都已有几千字之多,可谓内容丰富,干货无数。

希望透过这“GPU精粹三部曲”的11本书,透过这个新的系列文章,不仅能让我们的图形学技术和实时渲染技术再上一个台阶,也能站在巨人的肩膀上,管中窥豹,品味这10多年间,实时渲染与游戏开发领域的蜕变。

希望自己能将“GPU精粹三部曲”这游戏开发、图形学和渲染领域进阶知识的饕餮盛宴,总结得出色。

同时也希望这个新的系列文章,能对热爱游戏开发,图形学和渲染的各位朋友们有所帮助。

最后,放出“GPU精粹三部曲”的全家福,结束这篇文章。

下篇文章,《GPU Gems 1》全书核心内容提炼总结,再见。

With best wishes.