top of page

DX12 实时体积云

利用 Mesh Shader 与 Interval Shading 优化体积光线步进,实现高效率的物理大气散射计算

屏幕截图 2026-01-20 124723.png
屏幕截图 2026-02-20 215247.png
523579377-20452776-9c07-4eb4-aa01-ca061239dbbb.jpg

本项目是一款基于 DirectX 12 构建的高性能实时体积渲染引擎,集成了完整的物理大气散射模型。通过结合 Beer-Lambert 吸收定律与 Henyey-Greenstein 相函数,系统能够精确模拟云层的多向散射与明暗过渡。渲染器支持基于程序化噪声生成的动态密度场,允许开发者实时调整云层的形状与厚度。

518373456-68866e1b-b425-4e3e-880e-7547173344f8.png
屏幕截图 2026-02-20 215812.png

该项目深度复现并扩展了 Tricard 等人于 2024 年发表的论文《Interval Shading: using Mesh Shaders to generate shading intervals for volume rendering》。通过利用现代 GPU 的 Mesh Shader 管线,系统改变了传统的体积采样方式,将体积数据建模为四面体网格(Tetrahedral Meshes),实现了顺序无关(Order-independent)的高效体积着色。

屏幕截图 2026-02-20 214051.png

为了提升场景的沉浸感与构图完整性,项目构建了完整的可视化环境,包括一套基于多尺度 FBM(分形布朗运动) 噪声生成的动态程序化地形系统。地形与云层在深度缓冲区内进行精确的遮挡处理,实现了大气与地表的自然交互。

屏幕截图 2026-02-20 213438.png

在视觉呈现上,引擎集成了严谨的物理大气散射模型,结合 Beer-Lambert 吸收定律与 Henyey-Greenstein 相函数来精确模拟体积光照与前向散射。系统通过自阴影(Self-shadowing)计算赋予云层深邃的体积感,结合后期处理阶段的屏幕空间神圣光芒(God Rays),该架构在保证实时性能的同时,呈现出了真实的动态光影表现。

bottom of page