16.7K ·GitHub
这是什么?
这是一个基于 WebGL 的交互式演示,可以实时模拟流体动力学效果。你可以直接在浏览器中用鼠标或手指拨动,让类似液体的彩色效果旋转流动。
这是一个我可以集成的库,还是只是用来玩的东西?
这是一个自包含的交互式演示,而不是打包好的库。仓库里包含模拟代码,以及一个可以直接打开并操作的页面。
我该怎么试用?
打开 README 里链接的在线演示即可立即体验;如果想修改代码,可以克隆仓库,然后在本地打开页面。
运行它需要安装什么特别的东西吗?
不需要安装、注册账号或 API 密钥,只需一个支持 WebGL 的浏览器即可。模拟完全在客户端运行,借助 GPU 着色器完成计算。
它在所有设备上都能流畅运行吗?
性能取决于设备对 WebGL 的支持情况。它的设计也兼顾了移动端,但非常老旧、不支持 WebGL 的浏览器则完全无法运行。
它需要高性能显卡吗?
它依靠 WebGL 和 GPU 着色器在每一帧中计算流体的数学模型,但它足够轻量,可以在集成显卡和移动端 GPU 上运行。
它所基于的 Navier-Stokes 方程是什么?
这些方程描述了流体如何运动。本项目在 GPU 上每一帧求解其简化版本,从而生成旋转的彩色效果。
我能在自己的网站上复用这种流体效果吗?
可以。代码采用 MIT 许可证且自包含,你可以把着色器和模拟逻辑复制到自己的网站中,并根据需要调整为定制的视觉效果。
为什么鼠标交互在移动端的触摸操作中也能使用?
输入处理把触摸事件和指针事件与鼠标事件同等对待,因此在手机上用手指滑动,和在桌面端移动鼠标一样,能搅动流体。
What are similar projects?
natural-disasters, LinearAbilityExtThreeJS, web-ocean, Jelly-Baby, tidewater, paper.js, zdog, multipleWindow3dScene
Which topics is it in?
physics-simulation, mobile-web, demo, shaders, creative-coding, computer-graphics, interactive, canvas, simulation, webgl, rendering, gpu-acceleration