【GPU精粹與Shader編程】(一) 開篇 & 全系列11本書核心知識點總覽
系列文章前言
《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 Apples 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.
推薦閱讀: