ComputeNode
ComputeNode
一个强大的 GPGPU(通用 GPU 计算)接口,允许开发者利用 GPU 的并行计算能力执行物理模拟、图像处理、程序化生成等非渲染任务,极大地简化了底层 WebGPU/WebGL 的复杂性。
核心优势
将复杂的 GPGPU 设置封装为“一键式”解决方案,与 Three.js 节点系统无缝集成,让开发者能像编写普通程序一样,专注于计算逻辑本身,而无需关心管线、缓冲和同步等底层细节。
常见用途
大规模粒子系统(如星云、瀑布)的物理模拟
实时图像处理与后期效果(如高斯模糊、景深)
程序化几何体生成与变形(如飘动的旗帜、水面)
流体、布料等复杂的物理仿真
如何调整
调整 `count` 参数可直接增减计算单元的总数,例如改变粒子系统中的粒子数量。改变其核心计算逻辑(`node` 参数)会彻底改变行为:引入 `time` 节点可实现加速/减速效果;连接一个代表鼠标位置的 `uniform` 节点可实现与用户的实时交互;使用 `texture` 节点作为力场,则能根据纹理图案创造出复杂的湍流或卷曲动态效果。
代码示例
1
2// 根据当前计算索引,为粒子增加一个速度向量
3// 这个操作会直接修改缓冲区中的数据
4positionBuffer.element( globalIndex ).addAssign( velocity );
5