sharedUniformGroup
sharedUniformGroup
创建一个可被多个不同材质引用的全局统一变量组。它允许将相机、光照等数据一次性上传至 GPU,所有材质共享该数据副本,从而解决重复数据上传的性能问题。
核心优势
通过“一次上传、多处共享”的方式,极大减少 CPU 到 GPU 的数据传输和状态切换,显著提升复杂场景的渲染性能,并保证全局数据的一致性。
常见用途
共享场景范围的相机矩阵
提供全局统一的光照和环境参数
同步多个材质的动画或特效(如时间、风力)
如何调整
节点本身不可调整。通过修改已加入该组的某个 uniform 节点的 .value 属性,该变化会自动且高效地广播给所有使用此共享组的材质,实现全局效果的同步控制。
代码示例
1// 1. 创建一个自定义的共享 Uniform 组
2const windUniforms = sharedUniformGroup('WindEffects');
3
4// 2. 定义 Uniforms 并通过 .setGroup() 将其关联到共享组
5const windStrength = uniform(0.5).setGroup(windUniforms);