Shows

交互笔记、开源项目、各类创作展示以及友情推荐

更新于 2026-04-27

交互笔记

IBL-Note

基于图像的照明(Image-Based Lighting, IBL)把一张 HDR 环境贴图当作来自整个球面的入射光源,让物体能”实时”地反映出周围环境的照明信息——天光、太阳、室内灯具、地面反弹色,全部一气呵成。它是现代 PBR 管线在环境光(ambient)这一项上的终极形态。

Kulla-Conty Approximation

PBR 多重散射能量补偿的完整推导。从 BRDF 积分出发,构建能量补偿项 $E_{ms}$,并给出完整的 HLSL 实现与查找表预计算方案。包含 Furnace Test 对比验证。

GTAO

Ground Truth Ambient Occlusion 的实现解析。从可见性积分定义出发,推导球谐近似的 AO 弯曲法线,并讨论时域累积与降噪策略。

CG-Math

现代计算机图形学(尤其是实时渲染与离线路径追踪)建立在坚实的数学基础之上。

全局光照-SSGI

SSGI (Screen Space Global Illumination) 是一种在计算机图形学中用于模拟光线二次反弹(间接照明)的技术。与传统的直接照明不同,它能捕捉物体表面颜色相互反射的效果,显著提升画面的真实感。

八面体法线编码

在计算机图形学中,八面体法线编码(Octahedral Normal Encoding)是一种将三维单位向量(如表面法线)编码为二维坐标的极其高效的方法。它是对八面体环境贴图技术的扩展应用。本文将拆解其几何投射原理、优劣势,并提供可直接用于实际渲染管线的 HLSL 实现。

Vulkan-Note

Vulkan 是 Khronos 组织(以 OpenGL 闻名)的新 API,它提供了对现代显卡更好的抽象。这个新的接口允许我们更好地描述您的应用程序打算做什么,这与现有的 API(如 OpenGL 和 Direct3D)相比,可以带来更好的性能和更少的意外驱动程序行为。Vulkan 背后的想法与 Direct3D 12 和 Metal 类似,但 Vulkan 的优势在于它完全是跨平台的,并且允许我们同时为 Windows、Linux 和 Android 进行开发。

Compute-Shader-Notes

Compute Shader(计算着色器)是运行在 GPU 上、独立于传统渲染管线之外的通用计算程序。它可以充分利用 GPU 的大规模并行架构执行 GPGPU(通用 GPU 计算)算法,也可以加速渲染管线中的特定阶段。

开源项目

zerls/TerrainDemo C# HLSL

Unity 大世界渲染 Demo。包含 GPU 驱动地形、LOD 草地系统、大气散射、体积云与动态水体交互,所有渲染特性均基于 URP 自定义 RenderFeature 实现。

zerls/simple-renderer C++

Simple Renderer是一个使用C++开发的轻量级软件光栅化渲染引擎,主要用于学习和演示计算机图形学中的基本渲染原理。该项目不依赖于OpenGL或DirectX等现有图形API,而是从零实现渲染管线的各个阶段。

ComputeToy

ComputeToy 是一个模仿ShaderToy的在线Compute Shader,Frag Shader 着色器演示程序

推荐

Physically Based Rendering (pbr-book.org)

PBRT 第四版在线版本,Matt Pharr 等著。渲染方程、Monte Carlo 积分、BSDF 建模的权威参考。

Shadertoy — iq 着色器

Inigo Quilez 的 Shadertoy 主页,收录大量 SDF 建模、程序纹理与光照技巧,是学习实时渲染数学的绝佳资源。

Advances in Real-Time Rendering

SIGGRAPH 实时渲染前沿技术课程存档,涵盖 Horizon: Zero Dawn、Cyberpunk 2077 等 AAA 游戏的渲染技术分享。