BLOG
Writing
Rendering, GPUs and a few things beyond work.
27 articles

Infinity Browser中的GPU HAL
系统梳理 GPU HAL 的设计:比较 Bgfx、NVRHI、UE4 RHI、Unity Gfx、WebGPU 与 The Forge,随后定义 Instance、Device、能力模型、资源与视图、内存驻留、管线、绑定、命令编码、队列同步、查询、加速结构、交换链及高级特性,最后串起启动渲染流程。

移动端 Subsurface Scattering:基于 Spherical Gaussian 的实现
比较移动端 SSS 方案,拆解散射的范围、方向和软化三个视觉要素,使用 Spherical Gaussian 拟合 Kernel,并实现 Curvature Scatter、Bump Scatter、Shadow Scatter 与 Transmission,给出参数、性能数据和结果对比。

Unreal RenderGraph
以 Unreal RenderGraph 的实际调用顺序为线索,解释执行 Graph、Pass Resource、Pass Parameters 与 AddPass 的职责和连接,收束到一次 Graph 执行的整体理解。

Infinity RP 中的运行时虚拟纹理
围绕 Runtime Virtual Texturing 建立 Need、Supply、Query 三条链路,解释 Border/Padding、资产与 Volume、Feedback 编码、Jobs/Burst、LRU 物理缓存、页面生成、页表更新、Shader 地址换算、Readback 时序,以及分辨率、显存、缺页吞吐和调试计数器。

Infinity RP 中的地形渲染体系
从 Component、Data、Renderer 与 Engine Adapter 四层说明地形系统;覆盖 Texture2DArray 索引、Section 实例数据、Editor Baking、初始化与逐帧 Culling/LOD/Batch/Draw,并讨论连续 LOD 边界、Splatmap 混合、采样稳定性、调试指标、失败模式和演进。

Infinity RP 中的植被渲染体系
完整描述植被从 Editor Authoring/Bake 到 C# Jobs、HLSL 与 per-camera 生命周期的路径,建立 Prototype、空间分块、Tree/Grass 元素和 Native/Buffer 数据模型,并覆盖草地散布、渐进构建、贴地、树木裁剪与 LOD、风场、淡出、颜色变化、透光及性能边界。

Infinity RP 中的 MeshPipeline
以 Unity 原生绘制账本、BatchRendererGroup 与 UE Mesh Drawing Pipeline 的批判和采纳清单为背景,落地 MeshScene 数据模型、Typed ID、事务写入、generation/free list、revision/dirty range、可见性编译、过滤排序分组、模板缓存、CPU/GPU 提交、RenderGraph 集成、性能和地形植被衔接。

Unity SRP 02:迁移至 Render Graph
记录 Unity SRP 从手动资源管理迁移至 Render Graph 的完整路径:初始化、Pass 依赖声明、DAG 编译、拓扑排序、Dead Pass Elimination、资源池化与 Aliasing,并落到 Depth/GBuffer/Async Compute、主循环、生命周期和 Unreal RDG 对比。

Unity SRP 01:Pre-Z + GBuffer 基础管线搭建
从创建 RenderPipeline 和 RenderPipelineAsset 开始,实现 RenderContent、LightMode Tag、Pre-Z、GBuffer 通道与 Full Screen Blit,并以 SRP Batcher、Static Batching 混合机制和性能对比收束基础 SRP 管线。

Unreal Virtual Texture
介绍 Unreal Virtual Texture 的四类使用场景:Static Virtual Texture、Runtime Virtual Texture、VT Decal 与 Terrain Blend,强调各自的资源与材质接入方式。

Screen-Space Global Illumination:基于 HiZ Ray Marching 的实现
比较 SSGI 与 RTGI 精度,建立基于 HiZ 的屏幕空间光线追踪:光线生成、随机数、HiZ Trace、颜色与遮挡计算,配合 Temporal/Spatial/Bilateral 降噪,并讨论性能、效果、Irradiance Volume 的 SH 更新和 RenderTarget 数据流。

Unity Shading Pipeline:Default Shading Model 实现
定义六种 Shading Model 的定位与 GBuffer Model ID 编码,逐步实现直接光 Diffuse(Lambert、Burley、Renormalized)和 Specular(GGX、Smith、Schlick),再推导间接漫反射、Split-Sum、GGX 预过滤、Hammersley、动态 Cubemap、BRDF LUT 与 Multi-Bounce 补偿,最后组合完整光照。