storage
storage
在着色器中以数组形式访问 GPU 上的大型数据缓冲区,支持海量数据和灵活的索引访问。它是实现 GPU 粒子系统、复杂蒙皮和通用计算(GPGPU)等高级效果的关键。
核心优势
突破了传统 Uniform 的大小限制,允许向 GPU 传输和访问海量结构化数据(如数百万个粒子状态),并在计算着色器中支持读写操作。
常见用途
GPU 加速的粒子系统
复杂的顶点动画与蒙皮
通用计算(GPGPU),如物理模拟、AI 计算
如何调整
该节点的核心可调性在于修改传递给 `.element()` 方法的索引。通过动态计算索引,可以从同一份数据中创造出不同效果。例如,使用时间节点 (`timerLocal`) 可以创建循环动画,而使用位置坐标 (`positionLocal`) 则可以使效果根据模型空间位置发生变化。
代码示例
1// 使用索引(如 vertexIndex)从缓冲区访问一个元素
2const element = bufferNode.element( vertexIndex );
3
4// 将其应用(例如,叠加到局部顶点位置上)
5positionLocal.add( element );