模板:TJ-CSCCG/tongji-undergrad-thesis: 同济大学本科生毕业设计论文模板 (github.com)
项目:LinzhouLi/WebGPU-Fluid-Simulation: Real-Time Fluid Simulation using WebGPU (github.com)
题目:基于WebGPU的轻量化在线复杂流体仿真算法
实时流体仿真是计算机图形学领域的重要研究课题,但在Web端进行流体仿真面临一系列挑战。传统的方法在追求稳定性的同时,往往牺牲计算效率,难以在性能有限的浏览器上实时运行。然而,WebGPU的出现为Web端流体仿真带来了新的机遇。作为一种新兴的图形渲染API,WebGPU通过全新的架构设计和接近底层硬件的接口,为图形应用提供了更高效的性能优化手段。本文旨在探索基于WebGPU的实时流体仿真方法,突破传统Web端流体仿真的困境,并为各个领域带来更便捷和强大的流体仿真工具。
本文采用了一系列创新方法来实现基于WebGPU的实时流体仿真。首先,采用基于位置的流体模拟方法,通过迭代求解流体的密度约束,确保了模拟过程中流体的不可压缩性。其次,使用隐式边界条件表示方法来实现固液耦合,将固体边界对流体粒子的影响预计算到三维纹理中,提高了计算效率。第三,添加非压强力模型,包括表面张力、涡量补偿力和人工粘性力,以改善流体细节并提高模拟的真实感。第四,实现了完全并行化的高效邻近粒子搜索算法,通过空间网格划分和计算排序等技术加速搜索过程。最后,采用屏幕空间流体渲染方法,并设计了窄域滤波器用于深度图平滑,在重建流体表面的同时仍能够保留流体轮廓细节。
通过多个复杂的流体仿真场景,本文验证了所提出方法的稳定性和高效性。实验结果表明,我们的流体仿真系统能够在性能有限的集成显卡上实现实时仿真,并达到30FPS以上的帧率。这证明了本文方法在计算效率方面的优越性和可行性,为Web端实时流体仿真提供了切实可行的解决方案。
- 1 引 言
- 1.1 背景介绍
- 1.1.1 WebGPU
- 1.1.2 实时流体仿真
- 1.2 本文主要工作
- 1.3 本文组织结构
- 1.1 背景介绍
- 2 相关工作
- 2.1 纳维斯托克方程
- 2.2 基于网格的模拟方法
- 2.3 基于粒子的模拟方法
- 2.4 网格-粒子混合模拟方法
- 2.5 流体渲染
- 3 实时流体模拟算法
- 3.1 平滑粒子动力学
- 3.2 基于位置的流体
- 3.2.1 强制不可压缩约束
- 3.2.2 更新步长与位置更新向量
- 3.3 边界条件
- 3.3.1 密度贴图
- 3.3.2 体积贴图
- 3.3.3 空间离散
- 3.4 本章小结
- 4 流体非压强力模型
- 4.1 表面张力
- 4.1.1 内聚力
- 4.1.2 最小化表面积
- 4.2 涡量补偿
- 4.3 人工粘性
- 4.4 本章小结
- 4.1 表面张力
- 5 高效邻域粒子查找算法
- 5.1 方法概述
- 5.2 集合数组
- 5.2.1 数据结构
- 5.2.2 构建算法
- 5.3 并行计算前缀和
- 5.3.1 访存优化
- 5.3.2 分支优化
- 5.3.3 避免 Bank 冲突
- 5.3.4 大数组前缀和
- 5.4 本章小结
- 6 实时流体渲染算法
- 6.1 方法概述
- 6.2 粒子实例化渲染
- 6.3 深度图平滑
- 6.4 屏幕空间渲染
- 6.5 本章小结
- 7 实时流体仿真系统的实现
- 7.1 WebGPU
- 7.1.1 存储结构
- 7.1.2 管线
- 7.2 物理模拟系统
- 7.3 渲染系统
- 7.4 实际仿真场景与性能分析
- 7.5 本章小结
- 7.1 WebGPU
- 8 全文总结与展望
- 8.1 全文总结
- 8.2 存在的不足
- 8.3 未来展望
- 参考文献
- 谢辞