此前曾将Evan Wallace的WebGL Water演示移植到WebGPU的Yong Su,如今成功将其引入Three.js,并进行了多项增强。
这款实时水模拟包含光线追踪反射、折射、焦散效果以及交互式对象。它还支持可配置的泳池形状(如圆角矩形),并提供了跟随光源的相机模式,用于探索动态焦散和高光。对象系统具有可扩展性,您可以通过定义渲染着色器、水面位移近似值、碰撞检测和光学描述符,添加额外的Three.js几何体或自定义3D模型。
您可以在浏览器中此处体验演示。在水面上绘制可产生涟漪,拖动背景可旋转相机,拖动球体可移动它。按L键调整光源,按G键切换重力,按空格键暂停或继续。
GitHub仓库可在此获取,您也可以点击此链接查看Evan Wallace的原始演示。对更多Three.js水模拟感兴趣?Dan Greenheck已发布其完整海洋渲染解决方案Three.js Water Pro的重大更新。




